猿问

Django:像 LoginView 这样的通用表单在何处呈现函数字典填充以及如何更改它

我在 Django 中使用 LoginView 类。我们可以使用此类作为带有 HTML 模板的登录视图,如下所示


from django.contrib.auth.views import LoginView


urlpatterns = [

path('', LoginView.as_view(), {'template_name': 'login.html'}),

]

登录.html:


<head>

   <title>test<title>

   {% load static %}

</head>

<body>

   <form method="POST">

      {% csrf_token %}

      {{ form.as_p }}

   </form>

</body>

我的问题是在哪里呈现函数字典或 httprequest 填充?我如何改变,form.as_p以login_form.as_p,例如?


回首忆惘然
浏览 242回答 2
2回答

慕妹3242003

您可以从Django 官方文档获得帮助

繁星淼淼

您必须像这样使用自定义登录视图:from django.contrib.auth.views import LoginViewclass CustomLoginView(LoginView):&nbsp; def get_context_data(self, **kwargs):&nbsp; &nbsp; """Insert the form into the context dict."""&nbsp; &nbsp; if 'login_form' not in kwargs:&nbsp; &nbsp; &nbsp; &nbsp; kwargs['login_form'] = self.get_form()&nbsp; &nbsp; # Another your context&nbsp; &nbsp; return super().get_context_data(**kwargs)
随时随地看视频慕课网APP

相关分类

Python
我要回答