首页 > 解决方案 > 如何更改 LoginView 中调用的 AuthenticationForm 标签以及如何在 LoginView 中使用另一个表单?(Django 3.0)

问题描述

我正在学习 Django 3.0,实际上我正在使用django.contrib.auth.views.LoginView

这是我的views.py文件:

from django.contrib.auth.views import LoginView

class CustomLoginView(LoginView):
    template_name = "blog/loginview.html"

这是我的urls.py文件:

from django.contrib.auth.views import LoginView
from django.conf.urls import url

urlpattenrs = [
   url(r'^login/$', views.CustomLoginView.as_view(), name='login')
]

我知道我可以将所有内容都放在 url 中,而无需做出自己的看法,但我想对其进行测试。

这是我的模板:

<h1>Connection with LoginView</h1>

<form method="POST" action=".">
    {% csrf_token %}
    {{ form.as_p }}
    
    <input type="hidden" name="next" value="{{ next }}" /> 
    <input type="submit" value="Connect" />
</form>

一切正常,但在我的页面上,我可以看到默认AuthenticationForm使用的默认标签LoginView。这些是Username:Password:

现在这是我的问题:

标签: pythondjangoformstemplatesloginview

解决方案


是的,可以更改标签,但它将在forms.py文件中,这是一个示例:

class ChildForm(forms.ModelForm):
    class Meta:
        model=Child_detail
        fields="__all__"
        labels={
            'username':'foo',
            'passowrd':'bar',
        }

推荐阅读