编写你的第一个Django应用程序,错误来自。导入视图

时间:2016-06-15 12:27:49

标签: python django

我开始学习python-django,我想创建我的第一个django应用程序。 我正在关注Django 1.8教程。在我的项目“mysite”中,有一个源文件夹“polls”。在该文件夹中有“views.py”模块,其中定义了“索引”功能。并且有一个“urls.py”文件:

from django.conf.urls import url

from . import views

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

现在我收到了一个错误:

Traceback (most recent call last):
 File "/home/ukasz/Pulpit/Python/mysite/polls/urls.py", line 3, in <module>
from . import views
SystemError: Parent module '' not loaded, cannot perform relative import

编辑:更新了woljako在回答中提供的新信息

my mysite / ursl.py:

 from django.conf.urls import include, url
 from django.contrib import admin

 urlpatterns = [
 url(r'^polls/', include('polls.urls')),
 url(r'^admin/', admin.site.urls),
 ]

我收到了一个错误:

Traceback (most recent call last):
  File "/home/ukasz/Pulpit/Python/mysite/mysite/urls.py", line 20, in <module>
  url(r'^polls/', include('polls.urls')),
  File "/usr/local/lib/python3.5/dist-packages/django/conf/urls/__init__.py", line 52, in include
urlconf_module = import_module(urlconf_module)
 File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
 File "<frozen importlib._bootstrap>", line 986, in _gcd_import
 File "<frozen importlib._bootstrap>", line 969, in _find_and_load
 File "<frozen importlib._bootstrap>", line 944, in _find_and_load_unlocked
 File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
 File "<frozen importlib._bootstrap>", line 986, in _gcd_import
 File "<frozen importlib._bootstrap>", line 969, in _find_and_load
 File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'polls'

我添加到INSTALLED_APPS应用'民意调查',但仍然没有帮助

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',
]

4 个答案:

答案 0 :(得分:1)

有几件事可能导致这种情况。我有两种可能尚未提及的解决方案。

  1. 尝试将url(r'^polls/', include('polls.urls')),替换为url(r'^polls/', include('mysite.polls.urls')),
  2. 您是否记得在__init__.py文件夹中包含polls文件?这是导入工作所必需的。请参阅docs以供参考。只需创建一个名为__init__.py的空文件即可。请注意双下划线。
  3. 如果这可以解决您的问题,请告诉我。

答案 1 :(得分:0)

尝试在settings.py中的应用程序中注册民意调查。像这样的东西: enter image description here

答案 2 :(得分:0)

在 Polls/urls.py 顶部添加这一行

from django.contrib import admin

并将 from . import views 替换为 from polls import views。 我希望这会奏效。

答案 3 :(得分:0)

在 Polls/urls.py 在顶部添加此行 “来自 django.contrib 导入管理员” 和“从民意调查导入意见” 我希望这会奏效。