我开始学习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',
]
答案 0 :(得分:1)
有几件事可能导致这种情况。我有两种可能尚未提及的解决方案。
url(r'^polls/', include('polls.urls')),
替换为url(r'^polls/', include('mysite.polls.urls')),
__init__.py
文件夹中包含polls
文件?这是导入工作所必需的。请参阅docs以供参考。只需创建一个名为__init__.py
的空文件即可。请注意双下划线。如果这可以解决您的问题,请告诉我。
答案 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 导入管理员” 和“从民意调查导入意见” 我希望这会奏效。