外观
ModelForm的验证
验证ModelForm分为两步:验证表单和调用模型实例。
与普通的表单验证,模型表单的验证也需要调用is_valid()方法或访问errors属性。模型的验证(Model.full_clean())紧跟在表单的clean()方法调用之后。通常情况下,我们使用Django内置的验证其。若需要,也可以重写表单的clean()方法来提供额外的验证,方法和普通的表单一样。
下面创建一个视图函数,然后验证ModelForm类。创建视图函数,代码如下:
@login_required
def add_article(request):
if request.method = 'GET':
form = ArticleModelForm()
else:
form = ArticleModelForm(request.POST)
if form.is_valid():
return HttpResponse('验证成功')
return render(request, 'add_article.html', {'form': form})创建add_article.html模板。
{% extends 'base.html' %}
{% block title %}添加文章{% endblock %}
{% block content %}
<style>
.errorlist{
float: left;
}
.errorlist li{
color: red;
}
</style>
<div>
<h3>
添加文章
</h3>
<form class='mt-4' action='' method='post'>
{% csrf_token %}
{{ form }}
<div style='padding-top: 20px'>
<button type='submit' class='btn btn-primary'>
登录
</button>
</div>
</form>
</div>
{% end block %}