为了账号安全,请及时绑定邮箱和手机立即绑定

将 'path('accounts/',include

将 'path('accounts/',include

跃然一笑 2023-10-26 16:58:10
各位,我刚刚开始学习 Django,无法理解'path('accounts/',include('django.contrib.auth.urls'))'在 django 项目的 urls.py 文件中使用。这是我的根urls.py文件:    urlpatterns = [    path('admin/', admin.site.urls),    path('',views.HomePage.as_view(),name='home'),    path('accounts/',include('accounts.urls',namespace='accounts')),    path('accounts/',include('django.contrib.auth.urls')),    path('test/',views.TestPage.as_view(),name='test'),    path('thanks',views.ThanksPage.as_view(),name='thanks'),    path("posts/", include("posts.urls", namespace="posts")),    path("groups/",include("groups.urls", namespace="groups")),    ]这是我的urls.py帐户应用程序:    urlpatterns = [    path('login/',auth_views.LoginView.as_view(template_name='accounts/login.html'),     name="login"),    path('logout/',auth_views.LogoutView.as_view(), name="logout"),    path('signup/',views.SignUp.as_view(),name='signup'),    ]从上面可以明显看出,帐户应用程序正在使用 LoginView 和 LogoutView 来实现登录和注销功能。(注册视图使用 UserCreationForm)。我还删除'path('accounts/',include('django.contrib.auth.urls'))'并尝试运行服务器。显然,一切似乎都工作得很好(登录、注销和注册)。那么,通过将其包含在 中,我们到底得到了什么urls.py?
查看完整描述

2 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

假设您有很多应用程序,并且每个应用程序都有一些urls,如果您不使用 include,则应该将所有 url 添加到一个文件中,这将使您的基本urls文件非常混乱,并且某些应用程序urls可能会相互覆盖。例如,您决定调用一个example 1视图,该视图具有与example 2视图类似的 url 路径,但该 url 将请求重定向到错误的视图,因此 include 还可以通过某些方式隔离 url(例如namespacing)。另请注意,有时您必须使用 include(例如router.urlsDRF 的 include)。包含还可以让您更快、更轻松地调试 URL。


查看完整回答
反对 回复 2023-10-26
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

这些 Django.contrib.auth.url 本身就是 url。这意味着当您包含它们时,它会自动包含一些内置的 django url,例如登录、注册、密码重置、密码重置确认等。如果您不想自己编码,这意味着创建您的自己的看法。



查看完整回答
反对 回复 2023-10-26
  • 2 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信