You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Django内置认证视图中的部分URL?

自定义启用Django内置认证视图的部分URL

当你用path("accounts/", include("django.contrib.auth.urls"))导入内置认证URL时,会自动加载所有相关功能。如果只需要部分功能,别直接include整个模块,手动添加需要的URL条目就行,精准控制哪些功能启用。

具体操作步骤:

  1. 在你的urls.py中导入需要的认证视图:
from django.contrib.auth import views as auth_views
  1. 手动添加你需要保留的URL,比如只启用登录、登出、密码修改功能:
urlpatterns = [
    # 登录页面
    path("accounts/login/", auth_views.LoginView.as_view(), name="login"),
    # 登出页面
    path("accounts/logout/", auth_views.LogoutView.as_view(), name="logout"),
    # 密码修改页面
    path("accounts/password_change/", auth_views.PasswordChangeView.as_view(), name="password_change"),
    # 密码修改完成提示页面
    path("accounts/password_change/done/", auth_views.PasswordChangeDoneView.as_view(), name="password_change_done"),
    # 项目其他URL...
]

这样设置后,密码重置相关的URL不会被注册,自然无法访问。另外,保持URL的name参数和内置命名一致,模板里原有的{% url 'login' %}这类标签不用修改,直接兼容。

如果需要自定义模板,还可以给视图添加template_name参数指定自定义模板,比如:

path("accounts/login/", auth_views.LoginView.as_view(template_name="myapp/custom_login.html"), name="login"),

内容的提问来源于stack exchange,提问作者Mihai P.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:42:16