我有项目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模式登录,而不是使用带有include函数的路径将解析的URL模式赋予包含的url。比起包含urls.py时,它用另一个url模式 login 解析了它的脸,将其链接到 login / login ,并将其赋予了附加的视图功能。
这是我的第一个问题,当我需要使用包含功能时应该如何指定网址格式
我正确理解了包含的app.urls.py中的内容吗,我不应该根据我的示例指定登录模式
谁能理解我的路径包含函数的工作方式,我可以对其进行调试
答案 0 :(得分:1)
您已重复“登录”,因此请按以下步骤进行更改,以便在/ login上可用
path('',include('authorization.urls')),