2014-03-13 58 views
0

这是超级奇怪的,如果我把小部件设置为密码字段的字段,它会向我显示输入类型密码,但错误更改为(此字段是必需的),而不是(请输入您的用户名或密码)以下是我的代码。任何想法如何克服这一点?Django小部件覆盖forms.py上的error_message

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

它的外观与小部件,这里隐藏密码字段的文本,但不显示error_messages正确设置在error_messages字典中。

enter image description here

回答

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(), 
    }