"from . import views": 未解决的导入

"from . import views": Unresolved import

我正在关注 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).

使用最新版本

谢谢!

该项目是使用 PyDev 向导作为 Django 项目 创建的。创建时,文件夹 polls 不是源文件夹。结果,没有进行代码分析。所以我将文件夹 polls(位于项目文件夹 mysite 内)更改为源文件夹。现在分析了代码并引发了 unresolved import 错误。

修复方法是将 polls 改回普通文件夹(从 PYTHONPATH 中删除),而不是设置顶级项目文件夹 mysite作为源文件夹。现在 PyDevDjango 都运行良好。

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]

你需要的是改变.与您的父文件夹。这就是我为解决问题所做的。例如我项目的文件夹叫做博客所以我做了 这样做from blog import views 而不是 from 。导入视图

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'),
]