我正在关注Django 1.8 tutorial
。在我的项目mysite
中,有一个源文件夹polls
。在文件夹中有views.py
模块,其中定义了index
函数。并且有一个urls.py
文件:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
这是本教程的建议,Django可以很好地处理代码。但是Eclipse (PyDev)
对unresolved imports
抱怨views
。如果我删除from . import views
并使用自动更正功能, PyDev 会推荐import views
,现在Django抱怨“名称视图未定义” 。我在文件夹中使用和不使用__init__.py
进行了尝试,两者都给出了相同的结果。
我正在使用 Django(1.8)和 PyDev(4.2)的最新版本。
谢谢!
答案 0 :(得分:2)
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
你需要的是改变。与您的父文件夹。这就是我为解决问题所做的工作。例如,我的项目的文件夹被称为博客,所以我做了 执行此操作:来自博客导入视图而非来自。导入视图
from django.conf.urls import url
from blog import views
urlpatterns = [
url(r'^$', views.post_list, name='post_list'),
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail, name='post_detail'),
]
答案 1 :(得分:1)
该项目是使用 PyDev 向导创建的 Django项目。创建时,文件夹polls
不是源文件夹。结果,没有进行代码分析。所以我将文件夹polls
(位于项目文件夹mysite
内)更改为源文件夹。现在分析了代码并引发了unresolved import
错误。
修复方法是将polls
更改回普通文件夹(从 PYTHONPATH 中删除),而是将顶级项目文件夹mysite
设置为源文件夹。现在 PyDev 和 Django 运作良好。