(注意:我已经找到了一个解决方法,如底部所述,但这似乎是错误的方法。)
views.py
和forms.py
都在
R:\\jeffy\\programming\\sandbox\\python\\django_files\\tutorial\\django_test\\django_test\\
和
R:\\jeffy\\programming\\sandbox\\python\\django_files\\tutorial\\django_test\\
是Django的“Python Path”
但是在尝试时
from forms import MyRegistrationForm
views.py
中的会产生ImportError ... No module named 'forms'
。
我把它改为
from django_test.forms import MyRegistrationForm
但会产生 SyntaxError ... invalid syntax
。
由于
R:\jeffy\programming\sandbox\python\django_files\tutorial\django_test\django_test
是一个包(它中有空__init__.py
个文件),我想我可以用这种方式引用django_test
。 (它也是Django项目名称。)
我可以手动添加
R:\\jeffy\\programming\\sandbox\\python\\django_files\\tutorial\\django_test\\django_test\\
到PYTHONPATH
环境变量(Windows 7,32位,Django 1.7c2),并让它工作。但由于这意味着必须将每个 Django项目添加到PYTHONPATH
,因此它似乎应该能够在不必执行此操作的情况下工作。
我说错了吗?有没有办法从forms.py
(位于同一目录中)导入views.py
,而无需手动将其目录添加到PYTHONPATH
?
感谢。
答案 0 :(得分:1)
如果它在同一目录中,请尝试相对导入:
from .forms import MyRegistrationForm
编辑:有人发布了同样的建议作为评论。我没有看到评论。