Django小部件覆盖forms.py上的error_messages

时间:2014-03-13 14:46:58

标签: django-forms

这是超级奇怪的,如果我把小部件设置为密码字段的字段,它将显示输入类型密码但错误更改为(此字段是必填的)而不是(请输入您的用户名或密码)这是我的代码如下。关于如何克服这个问题的任何想法?

class loginForm(forms.ModelForm):

class Meta:
    model = user

    fields = ('username', 'password')


        error_messages = {
            'username': {
                'required': ('Please enter your username'),
            },

            'password': {
                'required': ('Please type your password'),
            },
        },

        widgets = {
            'password': forms.PasswordInput(),
        }

它看起来如何没有,并且不显示密码只是纯文本的星号

enter image description here

它与widget相似,它隐藏了密码字段的文本,但没有按照error_messages字典中的设置正确显示error_messages。

enter image description here

1 个答案:

答案 0 :(得分:0)

答案是从django.forms

添加PasswordInput
from django import forms
from django.forms import ModelForm, PasswordInput
from models import user


class loginForm(forms.ModelForm):

    class Meta:
        model = user

        fields = ('username', 'password')

        error_messages = {
            'username': {
            'required': ('Please enter your username'),
        },

        'password': {
        'required': ('Please type your password'),
        },
    }

    widgets = {
        'password': PasswordInput(),
    }