Django Forms组件 的参数配置案例 input样式, 渲染的标签加class 错误信息提示

Forms渲染出标签类型

密码型、文本型、邮箱型框

from django.forms import widgets

# 自定义格式方法
class UserForm(forms.Form):
    '''最小4位 且 模式:普通文本'''
    name = forms.CharField(min_length=4, label='姓名:',widget=widgets.TextInput())  

    '''最小4位 且 模式:密码模式'''
    pwd = forms.CharField(min_length=4, label='密码:', widget=widgets.PasswordInput())  

渲染时添加属性 class=”(便于bootstrap)

from django.forms import widgets

'''在widgets.类型(加入字典形式的标签信息)'''

class UserForm(forms.Form):
    # 模式:普通文本 标签加上:class="form-control"
    name = forms.CharField(widget=widgets.TextInput(attrs={'class': 'form-control'}))  

    # 模式:密码模式 标签加上:class="form-control"
    pwd = forms.CharField(widget=widgets.PasswordInput(
    attrs={'class': 'form-control'}
    ))  

渲染自定义错误提示

视图

from django.forms import widgets
'''追加error_messages参数 dict型式'''

class UserForm(forms.Form):

    # 模式:required=不能为空的提示
    name = forms.CharField(min_length=4, label='姓名:', 
                          error_messages={
                              'required':'不能为空(提示方式)',
                              '条件名':'只要该字段不对就返回该提示语'
                          })  

    # 模式:invalid=格式错误
    pwd = forms.CharField(min_length=4, label='密码:',
                          error_messages={
                              'invalid':'格式错误(提示方法)',
                              '条件名':'只要该字段不对就返回该提示语'
                          })  

HTML展示错误信息

 <form action="" method="post" novalidate="novalidate">  
 <!--要自定义提示必须  novalidate="novalidate"-->

     {% csrf_token %}
     {% for field in form %}
         <p>
             {{ field.label }}{{ field }} <span>{{ field.errors.0 }}</span>
             <!--错误信息固定:field.errors.0 -->
         </p>
     {% endfor %}
     <p><input type="submit" value="提交"></p>
 </form>

猜你喜欢

转载自blog.csdn.net/weixin_42329277/article/details/81814654