Django urls.py 配置给出页面 404
Django urls.py config gives page 404
我有一个非常简单的 Django 安装和一个应用程序,但我无法正确配置 urls.py
。很奇怪,因为我在另一个应用程序中有相同的配置,它工作得很好。
urls.py
:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('subscribe/', include('newsletter.urls')),
path('subscription-confirmation/<str:key>/', include('newsletter.urls')),
path('admin/', admin.site.urls),
]
APPurls.py
from django.urls import path
from newsletter.views import subscribe, subscription_conf
urlpatterns = [
path('subscribe/', subscribe),
path('subscription-confirmation/<str:key>/', subscription_conf),
]
浏览器错误:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/subscribe/
Using the URLconf defined in backoffice.urls, Django tried these URL patterns, in this order:
1. subscribe/ subscribe/
2. subscribe/ subscription-confirmation/<str:key>/
3. subscription-confirmation/<str:key>/
4. admin/
The current path, subscribe/, didn’t match any of these.
我正在用这个来拉扯我的头发,我做错了什么?
实际上是真的找不到页面。至少没有任何内容指向您调用的 URL。
您请求:http://127.0.0.1:8000/subscribe/
正在寻找:subscribe/
但是您没有那个,因为您还在该行中包含了应用程序的 url。所以你只有 http://127.0.0.1:8000/subscribe/subscribe
我认为你应该:
- 在您项目的
urls.py
中:
urlpatterns = [
path('', include('newsletter.urls')),
path('admin/', admin.site.urls),
]
- 在您应用的
urls.py
中:
urlpatterns = [
path('subscribe/', subscribe),
path('subscription-confirmation/<str:key>/', subscription_conf),
]
我有一个非常简单的 Django 安装和一个应用程序,但我无法正确配置 urls.py
。很奇怪,因为我在另一个应用程序中有相同的配置,它工作得很好。
urls.py
:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('subscribe/', include('newsletter.urls')),
path('subscription-confirmation/<str:key>/', include('newsletter.urls')),
path('admin/', admin.site.urls),
]
APPurls.py
from django.urls import path
from newsletter.views import subscribe, subscription_conf
urlpatterns = [
path('subscribe/', subscribe),
path('subscription-confirmation/<str:key>/', subscription_conf),
]
浏览器错误:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/subscribe/
Using the URLconf defined in backoffice.urls, Django tried these URL patterns, in this order:
1. subscribe/ subscribe/
2. subscribe/ subscription-confirmation/<str:key>/
3. subscription-confirmation/<str:key>/
4. admin/
The current path, subscribe/, didn’t match any of these.
我正在用这个来拉扯我的头发,我做错了什么?
实际上是真的找不到页面。至少没有任何内容指向您调用的 URL。
您请求:http://127.0.0.1:8000/subscribe/
正在寻找:subscribe/
但是您没有那个,因为您还在该行中包含了应用程序的 url。所以你只有 http://127.0.0.1:8000/subscribe/subscribe
我认为你应该:
- 在您项目的
urls.py
中:
urlpatterns = [
path('', include('newsletter.urls')),
path('admin/', admin.site.urls),
]
- 在您应用的
urls.py
中:
urlpatterns = [
path('subscribe/', subscribe),
path('subscription-confirmation/<str:key>/', subscription_conf),
]