Html 处理Django中所有页面的LoginView登录的最佳方法

Html 处理Django中所有页面的LoginView登录的最佳方法,html,django,modal-dialog,loginview,Html,Django,Modal Dialog,Loginview,我是Django的新手,我花了很多时间试图找到解决问题的方法,但没有成功。我有一个包含在base.html文件中的顶部导航栏,每个页面都扩展了base.html。在我的导航栏中,我有一个显示模式(引导)的按钮,我希望这个模式显示登录表单。我的url.py如下所示: from django.urls import path, include from .views import RegisterView from django.contrib.auth.views import LoginView

我是Django的新手,我花了很多时间试图找到解决问题的方法,但没有成功。我有一个包含在base.html文件中的顶部导航栏,每个页面都扩展了base.html。在我的导航栏中,我有一个显示模式(引导)的按钮,我希望这个模式显示登录表单。我的url.py如下所示:

from django.urls import path, include
from .views import RegisterView
from django.contrib.auth.views import LoginView, LogoutView, PasswordResetView, PasswordResetDoneView, PasswordResetConfirmView, PasswordResetCompleteView, PasswordChangeView, PasswordChangeDoneView

urlpatterns = [
    # Mapping django auth at the root
    # The URLs provided by auth are:
    # login/ [name='login']
    # logout/ [name='logout']
    # password_change/ [name='password_change']
    # password_change/done/ [name='password_change_done']
    # password_reset/ [name='password_reset']
    # password_reset/done/ [name='password_reset_done']
    # reset/<uidb64>/<token>/ [name='password_reset_confirm']
    # reset/done/ [name='password_reset_complete']
    #path('', include('django.contrib.auth.urls')),
    path('password_reset/', PasswordResetView.as_view(), name='password_reset'),
    path('password_reset_done/', PasswordResetDoneView.as_view(), name='password_reset_done'),
    path('password_reset/<uidb64>/<token>/', PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    path('password_reset/complete/', PasswordResetCompleteView.as_view(), name='password_reset_complete'),
    path('password_change/', PasswordChangeView.as_view(), name='password_change'),
    path('password_change/complete/', PasswordChangeDoneView.as_view(), name='password_change_done'),
    path('login/', LoginView.as_view(), name='login'),
    path('logout/', LogoutView.as_view(), name='logout'),
    path('register/', RegisterView.as_view(), name='register'),
]
从django.url导入路径,包括
from.views导入注册表视图
从django.contrib.auth.views导入LoginView、LogoutView、PasswordResetView、PasswordResetDoneView、PasswordResetConfirmView、PasswordResetCompleteView、PasswordChangeView、PasswordChangeDoneView
URL模式=[
#在根目录下映射django auth
#auth提供的URL为:
#login/[name='login']
#注销/[name='logout']
#密码更改/[name='password\u change']
#密码\u更改/done/[name='password\u更改\u完成']
#密码\u重置/[name='password\u重置']
#密码\u重置/done/[name='password\u重置\u完成']
#重置//[name='password\u reset\u confirm']
#重置/完成/[name='password\u reset\u complete']
#路径(“”,包括('django.contrib.auth.url'),
路径('password_reset/',PasswordResetView.as_view(),name='password_reset'),
路径('password_reset_done/',PasswordResetDoneView.as_view(),name='password_reset_done'),
路径('password\u reset//',PasswordResetConfirmView.as\u view(),name='password\u reset\u confirm'),
路径('password\u reset/complete/',PasswordResetCompleteView.as\u view(),name='password\u reset\u complete'),
路径('password_change/',PasswordChangeView.as_view(),name='password_change'),
路径('password\u change/complete/',PasswordChangeDoneView.as\u view(),name='password\u change\u done'),
路径('login/',LoginView.as_view(),name='login'),
路径('logout/',LogoutView.as_view(),name='logout'),
路径('register/',RegisterView.as_view(),name='register'),
]
如上所述,
path('login/',LoginView.As_view(),name='login'),
只能在
localhost:8000/login
中正确解析
{{form}
,但我希望它在所有路径中解析,以实现我想要的。也就是说,如果我导航到
localhost:8000/login
并从navbar打开模式,我将看到登录表单,但如果我从
localhost:8000/anyOtherPath
从navbar打开模式,它将不会显示登录表单

实现我想要的最好的推荐方式是什么?请让我知道,如果你想看到更多的我的代码,以更好地了解我的情况

总之,我在base.html中有一个导航栏,每个页面都扩展了base.html。导航栏包含一个显示模式的按钮,我希望在该模式下显示登录表单,无论我在哪个页面上

我们将非常感谢您的帮助。先谢谢你