【发布时间】:2014-11-01 04:42:31
【问题描述】:
我正在按照 Django 网站上的教程创建一个简单的投票应用程序。然而,Django 无法解析 "//127.0.0.1:8000/polls" ,即使我在 mySite/urls.py 中定义了正则表达式。我在 virtualenv 中执行此操作,并安装了最新的 Django (1.7)。
我的站点/urls.py:
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^polls/', include('polls.urls')),
)
mySite/polls/urls.py:
from django.conf.urls import patterns, url
from polls import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
)
mySite/polls/views.py:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
mySite/settings.py:
...
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
)
....
ROOT_URLCONF = 'mySite.urls'
我得到的错误:
Using the URLconf defined in mySite.urls, Django tried these URL patterns, in this order: ^admin/
The current URL, polls, didn't match any of these.
【问题讨论】:
-
看起来您没有在
INSTALLED_APPS列表中包含polls包另外,请确保您在投票包中包含空白__init__.py -
我做了,看看我的编辑。
-
我将 ROOT_URLCONFIG 更改为 'urls' 并且它现在可以工作了
-
我想这取决于你把你的 ROOT urls.py 放在哪里,你相应地设置你的 ROOT_URLCONFIG,如果你在包含 manage.py 的最外层文件夹中有它,那么“urls”就可以了。如果你把它放在其他文件夹中,那么你必须做 "
.urls" -
127.0.0.1:8000/admin/ 工作吗?你试过 127.0.0.1:8000/polls/ (包括斜杠)吗?
标签: django views django-urls