首页 > 解决方案 > 如何将 Django 应用模块中的 url 添加到我的主 urls.py 中?

问题描述

嗨所以我正在学习一门课程,但它在 Django 1 上有点过时,我正在使用 Django 3。(我是新手,所以没有意识到区别)

在一个部分中,它在我的帐户应用程序中说要为密码创建一个新模块。然后创建一个init .py 文件和一个 urls.py。

我已经完成了这项工作,并且为密码重置和更改创建了非常标准的 URL。并且还在我的项目根目录模板文件夹中包含了新模板,并在注册下。

这是我的网址。py 在我的帐户/密码文件夹中

from django.urls import path
from django.contrib.auth import views as auth_views

app_name='accounts.passwords'

urlpatterns  = [
path('password/change/', 
        auth_views.PasswordChangeView.as_view(), 
        name='password_change'),
path('password/change/done/',
        auth_views.PasswordChangeDoneView.as_view(), 
        name='password_change_done'),
path('password/reset/', 
        auth_views.PasswordResetView.as_view(), 
        name='password_reset'),
path('password/reset/done/', 
        auth_views.PasswordResetDoneView.as_view(), 
        name='password_reset_done'),
path('password/reset/<uidb64>/<token>/', 
        auth_views.PasswordResetConfirmView.as_view(), 
        name='password_reset_confirm'),
path('password/reset/complete/', 
        auth_views.PasswordResetCompleteView.as_view(), 
        name='password_reset_complete'),
]

在我的主要 urls.py 中,我添加了

path('accounts/', include("accounts.passwords.urls")),

当我尝试它时,它说名称没有反向匹配,等等 Password_reset_done。

当我将 urls/paths 直接放入我的主 urls.py 时,它可以工作。

所以我想检查一下,如何在应用程序中包含来自模块的 url?

我将 app_name 指定为“accounts.passwords”,并将其作为应用程序添加到我的主设置中。只是想我会尝试。

我试过用谷歌搜索,但找不到答案

谢谢

标签: pythondjango

解决方案


推荐阅读