django URLconf当前路径不匹配

时间:2018-03-10 08:10:03

标签: python django

使用mysite.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:

polls/ [name='index']
admin/

当前路径polls /与其中任何一个都不匹配。

我的代码是...... 来自(app)民意调查urls.py

from django.urls import path
from . import views


urlpatterns = [
    path('', views.index, name='index'),
]

来自(项目)mysite urls.py

from django.urls import include, path
from django.contrib import admin


urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),

]

来自views.py项目文件

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello world, you are at the polls index.")

3 个答案:

答案 0 :(得分:1)

如果您希望将视图索引作为主视图,则要在地址localhost上呈现的第一个页面:port /.

然后,

在polls.urls.py中应该(与你的相同):

...
path('', views.index, name='index'),
...

在project.urls.py

...
path('', include('polls.urls')),
...

它应该有用。

额外的。 现在,如果你想在地址上渲染,比如说localhost:port / polls

然后你app.url中的路径模式(不是project.url)将是:

path('polls/', polls_view, name='polls')

希望它有所帮助。

答案 1 :(得分:0)

由于您正在访问localhost:8000,因此搜索路径为空字符串'',在您的项目网址中,pollsadmin只有两种模式。这就是你得到错误的原因。因此,您需要访问localhost:8000/polls才能从index应用的polls视图中获得结果。

答案 2 :(得分:0)

我是一个初学者,很长时间以来一直遇到同样的问题。 问题的关键是目录:

mysite/
    mysite/
    polls/
    ....

我怀疑您在mysite(文件夹的最外层)目录中创建了一个新文件(urls.py),该文件无效。您应该修改文件:mysite / mysite / urls.py

from django.contrib import admin
from django.urls import include, path
urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]