django之form模块2:自动生成标签

代码如下:

class Fm(forms.Form):
    user = forms.CharField(error_messages={'required': '用户名不能为空'})
    pwd = forms.CharField(max_length=10, min_length=6, widget=widgets.PasswordInput,
                          error_messages={'required': '密码不能为空', 'max_length': '最大长度不能超过10', 'min_length': '最小长度为6'})
    email = forms.EmailField(error_messages={'valid': '邮箱格式不对', 'required': '邮箱不能为空'})


def fm(request):
    if request.method == "GET":
        obj = Fm()
        return render(request, 'fm.html', {'obj': obj})

 

我们把obj的对象,渲染到前端。通过前端的{{ obj.name }}生成对应的input标签

<body>
<div style="width: 500px; height: 400px; border: black solid 1px; margin: 100px auto">
    <form action="/fm/" method="POST">
        {% csrf_token %}
{#        <div><input type="text" name="user"><span>{{ obj.errors.user.0 }}</span></div>#}
{#        <div><input type="password" name="pwd">{{ obj.errors.pwd.0 }}</div>#}
{#        <div><input type="email" name="email">{{ obj.errors.email.0 }}</div>#}
{#        <div><input type="submit" value="提交"></div>        #}
        <div>{{ obj.user }} {{ obj.errors.user.0 }}</div>
        <div>{{ obj.pwd }} {{ obj.errors.pwd.0 }}</div>
        <div>{{ obj.email }} {{ obj.errors.email.0 }}</div>
        <div><input type="submit" value="提交"></div>
    </form>
</div>
</body>

 

第二步:修改input标签的类型与样式

 

 

 

 

【完】

posted on 2020-04-29 10:51  yeyu1314  阅读(184)  评论(0编辑  收藏  举报