网址调度程序如何包含应用 URL



我有项目 urls.py

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

我包含的authorization/urls.py文件被跟踪

from django.urls import path                               
from . import views                                        
urlpatterns = [
path('login',views.login_name),
]

当我开始学习url调度程序逻辑时,我经常面对

The current path, login/login/, didn't 
match any of these.

如文档中所述

每当 Django 遇到 include(( 时,它都会切断 URL 中匹配到该点的任何部分,并将剩余的字符串发送到包含的 URLconf 进行进一步处理。

当我尝试访问我的登录页面时,我看到

Using the URLconf defined   
in forecast.urls, Django tried these     
URL patterns, in this order:
admin/
login/ login
The current path, login/, didn't match any of these.

正如我从回溯和文档注释中看到的那样,内部路径功能包含在include()功能中。路径解析给定参数和示例从我的项目中首先所有路径解析给定的 url 模式登录比当路径面对与包含函数时,它给解析的 url 模式包含的 url。比当包括时 urls.py 解析它的脸与另一个 url 模式登录其链他们登录/登录并给它附加视图功能。

这是我的第一个问题,当我需要使用包含函数时,我应该如何指定 url 模式

我是否正确理解包含在 app.urls.py 我不应该根据我的示例指定登录模式

谁能理解我如何路径包括函数工作,我可以调试它

您重复了"登录",因此请按如下方式更改它,以便它将在/login 上可用

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

最新更新