是否有可能在django中显示无效表单上的清理值?

时间:2016-10-27 08:22:05

标签: django django-forms

假设我有一个包含电子邮件和密码字段的简单登录表单。

用户输入电子邮件' TEST@EXAMPLE.COM' 并且密码为空。

我将电子邮件清理干净。

表单无效,用户再次显示。

如何显示电子邮件较低的邮件,即test@example.com?

1 个答案:

答案 0 :(得分:1)

在Django表单中,实例可以是绑定的也可以是非绑定的。所以你可以做的是从请求获取用户名将其转换为小写并返回带有小写用户名的有界形式。 FYI

def login(request, template_name='login.html',
          redirect_field_name=REDIRECT_FIELD_NAME,
          authentication_form=AuthenticationForm,
          current_app=None, extra_context=None):
    current_site = get_current_site(request)
    if request.method == "POST":
        username = request.POST.get('username').lower()
        pass = request.POST.get('password')
        form = authentication_form(request, data={'username':username, 'password':pass})
        if form.is_valid():
            #Login user and redirect to respective page
        else:
            context = {'form': form}
            return TemplateResponse(request, template_name, context,
                                            current_app=current_app)
    else:
        form = authentication_form(request)
    context = {'form': form}
    return TemplateResponse(request, template_name, context,
                            current_app=current_app)