Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django导入错误_Python_Django - Fatal编程技术网

Python Django导入错误

Python Django导入错误,python,django,Python,Django,(注意:我已经找到了一个解决方法,如底部所述,但这似乎是一个错误的方法。) views.py和forms.py都在 R:\\jeffy\\programming\\sandbox\\python\\django\u文件\\教程\\django\u测试\\django\u测试\\ 及 R:\\jeffy\\programming\\sandbox\\python\\django\u文件\\教程\\django\u测试\\ 在Django的“Python路径”中 但在尝试时 from forms i

(注意:我已经找到了一个解决方法,如底部所述,但这似乎是一个错误的方法。)

views.py
forms.py
都在

R:\\jeffy\\programming\\sandbox\\python\\django\u文件\\教程\\django\u测试\\django\u测试\\

R:\\jeffy\\programming\\sandbox\\python\\django\u文件\\教程\\django\u测试\\

在Django的“Python路径”中

但在尝试时

from forms import MyRegistrationForm
views.py
中,它会导致导入错误。。。没有名为“forms”的模块

我把它改成了

from django_test.forms import MyRegistrationForm
但这会导致
语法错误。。。无效语法

R:\jeffy\programming\sandbox\python\django\u files\tutorial\django\u test\django\u test

是一个包(里面有一个空的
\uuuu init\uuuu.py
文件),我想我可以这样引用
django\u test
。(这也是Django项目的名称。)

我可以手动添加

R:\\jeffy\\programming\\sandbox\\python\\django\u文件\\教程\\django\u测试\\django\u测试\\

转到
PYTHONPATH
环境变量(Windows 7,32位,Django 1.7c2),并使其工作。但是,由于这意味着每个Django项目都必须添加到
PYTHONPATH
,因此它似乎应该能够在不必这样做的情况下工作

我说得对吗?是否有一种方法可以从
views.py
(位于同一目录中)导入
forms.py
,而无需手动将其目录添加到
PYTHONPATH


谢谢。

如果它在同一目录中,请尝试相对导入:

from .forms import MyRegistrationForm

编辑:有人已经将此建议作为评论发布了。我没有看到评论。

你能详细说明一下
SyntaxError。。。无效语法
?也许这就是你需要解决的问题。另外,对于第一种情况,do
from.forms导入MyRegistrationForm
,不幸的是,我无法重现语法错误。我从
PYTHONPATH
中删除了
django_test\django_test
元素,现在从django_test中删除了
。所以我不知道我在胡闹的时候做了什么。但是你的想法也行得通:
from.forms导入MyRegistrationForm
。这类似于Windows
/sub-directory
符号吗?@karthikr你应该把它写在一个答案中,这样我才能给你评分。谢谢,不用了。。导入时,
.forms
会在当前包中查找名为
forms
的模块。这很好,如果您选择:)@aliteralmind,您可以接受回答者的答案