代码如下:
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标签的类型与样式
【完】