2011-03-21 50 views
10

我想做一個在我的項目叫utils/django.py模塊。在上面我有這樣一行:python:強制非相對導入?

from django.db import models 

但是,它試圖從自身導入,並導致錯誤。我知道我可以強制使用相對導入一個添附.

from .django.db import models 

有沒有什麼辦法來強制爲非相對進口?

+0

你也可以只重命名文件。相對進口*非常不鼓勵*,您應該例如'import myapp.stuff.django'來代替。 – 2011-03-21 00:34:39

+0

這聽起來像你正在試圖從它的定義的文件中導入一個類。如果是這樣的話,那麼你可以直接引用類db.models而不需要導入它。 – Narcolei 2011-03-21 00:42:32

+0

@JochenRitzel你怎麼會提出這樣做​​呢?在模塊名稱上附加一個數字?下劃線?有時相同的名稱是唯一有意義的名字,而你提出甚至沒有嘗試是解決問題的辦法...... – 2014-06-28 12:04:59

回答

20

號你需要明確啓用absolute imports

from __future__ import absolute_import 
+3

這是你應該在Python2中完成的方式。在Python3中,絕對導入是默認導入。 – 2011-03-21 00:29:51