各位,我剛剛開始學(xué)習(xí) 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帳戶應(yīng)用程序: 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'), ]從上面可以明顯看出,帳戶應(yīng)用程序正在使用 LoginView 和 LogoutView 來實現(xiàn)登錄和注銷功能。(注冊視圖使用 UserCreationForm)。我還刪除'path('accounts/',include('django.contrib.auth.urls'))'并嘗試運行服務(wù)器。顯然,一切似乎都工作得很好(登錄、注銷和注冊)。那么,通過將其包含在 中,我們到底得到了什么urls.py?
2 回答
慕運維8079593
TA貢獻1876條經(jīng)驗 獲得超5個贊
假設(shè)您有很多應(yīng)用程序,并且每個應(yīng)用程序都有一些urls,如果您不使用 include,則應(yīng)該將所有 url 添加到一個文件中,這將使您的基本urls文件非?;靵y,并且某些應(yīng)用程序urls可能會相互覆蓋。例如,您決定調(diào)用一個example 1視圖,該視圖具有與example 2視圖類似的 url 路徑,但該 url 將請求重定向到錯誤的視圖,因此 include 還可以通過某些方式隔離 url(例如namespacing)。另請注意,有時您必須使用 include(例如router.urlsDRF 的 include)。包含還可以讓您更快、更輕松地調(diào)試 URL。
犯罪嫌疑人X
TA貢獻2080條經(jīng)驗 獲得超4個贊
這些 Django.contrib.auth.url 本身就是 url。這意味著當(dāng)您包含它們時,它會自動包含一些內(nèi)置的 django url,例如登錄、注冊、密碼重置、密碼重置確認等。如果您不想自己編碼,這意味著創(chuàng)建您的自己的看法。
添加回答
舉報
0/150
提交
取消
