使用Django时难以在python中为导入赋予别名

时间:2017-10-13 20:19:27

标签: python django

我有一个启动并运行的Django应用程序,大多以易于理解的方式。但我有一个奇怪的问题。

我的代码位于urls.py和views.py所在位置的下一级。我有许多Python文件,其中一些用作其他impoPython文件中实际代码的导入。

我发现,作为Django应用程序的一部分,我需要在导入文件名之前加上'。'供他们进口。因此,如果我有一个名为foo.py的代码文件和一个名为vars.py的导入文件,则无法正确导入:

# foo.py
 from vars import *

但这有效:

 # foo.py
 from .vars import *

问题出现了,如果我尝试更多Pythonic(和安全)并命名导入,所以如果我导入所有内容它获得前缀。但是以下任何一项工作都没有:

# foo.py
import vars as v
import .vars as v

我的推测是Django(使用virtualenv或通过其他方式)定义查找导入文件的某些路径,以及'。'有必要将Python解释器指向导入文件所在的同一目录,以找到它需要查找的导入文件。但是,不知何故,这会“破坏”为导入的文件内容提供自己的前缀(或命名空间,我猜)的能力。

有什么想法?

0 个答案:

没有答案