在 /about/ 找不到页面。当前路径 about/ 与其中任何一个都不匹配。为什么 django 不能遵循我的 URL 路径?
Page not found at /about/. The current path, about/, did not match any of these. Why can't django follow my URL path?
我确定这个问题之前已经被问过很多次,但我确定我完全按照教程所说的做所有事情,但它仍然无法正常工作。我可以正常访问主页,但不能访问关于页面。
错误截图如下:
https://i.stack.imgur.com/oFNAJ.png
我的 .urls 文件(下面的文件)中有 URL 路径
from django.urls import path
from . import views
urlpatterns = [
path('', views.homepage, name='main-home'),
path('about/', views.about, name='main-about'),
]
并且在 .urls 文件中我引用了 .views 文件(如下)
from django.shortcuts import render
from django.http import HttpResponse
def homepage(request):
return HttpResponse('<h1>Home</h1>')
def about(request):
return HttpResponse('<h1>About</h1>')
我可能遗漏了一些明显的东西,但我已经盯着它看了好几个小时了,但仍然不明白为什么它找不到该页面。
编辑:我指的是主 post 中的应用程序 url 文件。如果它有用,这里是项目 .urls 文件:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('homepage/', include('home.urls')),
]
根据您复制的图片,您访问的是 localhost:8000/about,而不是 loaclhost:8000/homepage/about,我认为如果您现在访问的话 return 您的“关于”视图 HttpResponse 对象。
主站点 urls.py 正在引用 'homepage/',因此对于具有该前缀的任何内容,它将查看您的应用程序 urls.py 中的附加路径 objects/parameters。尝试:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')),
]
然后 prefixed
你的 url
和 homepage
一样
localhost:8000/homepage/about/
最好在 templates
中为 urls
使用 {% url %} [Django-doc] 模板标签,它会指向您的 correct
url,即使您更改了 url
路径但同名。
我确定这个问题之前已经被问过很多次,但我确定我完全按照教程所说的做所有事情,但它仍然无法正常工作。我可以正常访问主页,但不能访问关于页面。
错误截图如下:
https://i.stack.imgur.com/oFNAJ.png
我的 .urls 文件(下面的文件)中有 URL 路径
from django.urls import path
from . import views
urlpatterns = [
path('', views.homepage, name='main-home'),
path('about/', views.about, name='main-about'),
]
并且在 .urls 文件中我引用了 .views 文件(如下)
from django.shortcuts import render
from django.http import HttpResponse
def homepage(request):
return HttpResponse('<h1>Home</h1>')
def about(request):
return HttpResponse('<h1>About</h1>')
我可能遗漏了一些明显的东西,但我已经盯着它看了好几个小时了,但仍然不明白为什么它找不到该页面。
编辑:我指的是主 post 中的应用程序 url 文件。如果它有用,这里是项目 .urls 文件:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('homepage/', include('home.urls')),
]
根据您复制的图片,您访问的是 localhost:8000/about,而不是 loaclhost:8000/homepage/about,我认为如果您现在访问的话 return 您的“关于”视图 HttpResponse 对象。
主站点 urls.py 正在引用 'homepage/',因此对于具有该前缀的任何内容,它将查看您的应用程序 urls.py 中的附加路径 objects/parameters。尝试:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')),
]
然后 prefixed
你的 url
和 homepage
一样
localhost:8000/homepage/about/
最好在 templates
中为 urls
使用 {% url %} [Django-doc] 模板标签,它会指向您的 correct
url,即使您更改了 url
路径但同名。