找网站公司企业备案搭建微信网站怎么做
news/
2025/10/4 17:20:11/
文章来源:
找网站公司企业备案,搭建微信网站怎么做,怎么做网站frontpage,wordpress做公司官网使用ArticleColumnForm表单#xff0c;向数据库提交内容#xff0c;内容包括column。如果同一用户提交的column重复#xff0c;则提示表单出错#xff0c;表单提交失败后#xff0c;重新渲染表单提交html页面#xff0c;其中提示错误信息。
涉及的代码包括#xff1a; …使用ArticleColumnForm表单向数据库提交内容内容包括column。如果同一用户提交的column重复则提示表单出错表单提交失败后重新渲染表单提交html页面其中提示错误信息。
涉及的代码包括
1、forms.py
添加__init__方法初始化表单时包含提交表单的用户信息。
添加clean_column方法检查column是否重复
from django import forms
from .models import ArticleColumnclass ArticleColumnForm(forms.ModelForm):def __init__(self, *args, **kwargs):user kwargs.pop(user, None)super(ArticleColumnForm, self).__init__(*args, **kwargs)self.user userclass Meta:model ArticleColumnfields (column,)def clean_column(self):column self.cleaned_data.get(column)user self.user # 获取传递的用户信息if ArticleColumn.objects.filter(useruser, columncolumn).exists():raise forms.ValidationError(You have already created a column with this name.)return column
2、views.py
只有在form的valid检查通过后才进行页面的重定向否则重新渲染add_column.html页面。渲染是使用的form不是空表而是刚才提交的包含错误信息的form。
login_required
def add_column(request):if request.method POST:# 获取表单article_column_form ArticleColumnForm(datarequest.POST, userrequest.user)#初始化表单时包含用户信息if article_column_form.is_valid():new_articlecolumn article_column_form.save(commitFalse) # 创建数据库对象commitFalse不提交new_articlecolumn.user request.user# 将数据库对象写入new_articlecolumn.save()return HttpResponseRedirect(/article/article-column) # 写完数据后重定向到数据显示页面else:article_column_form ArticleColumnForm()context {article_column_form:article_column_form}return render(request, article/column/add_column.html, context)
3、提交表单的html页面
添加form错误显示区域。
form classform-horizontal action. methodpost{% csrf_token %}div classrowdiv classcol-md-4 text-rightspan栏目名称/span/divdiv classcol-md-8 text-left{{ article_column_form.column }}/div/div{% if article_column_form.column.errors %}div classerrorsul{% for error in article_column_form.column.errors %}li{{ error }}/li{% endfor %}/ul/div{% endif %}div classbutton-groupbutton typesubmitSubmit/buttonbutton typebutton onclickwindow.location.href{% url article:article_column %}Cancel/button/div/form
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927376.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!