我想确保用户在重定向到下一页之前填写所有字段。如果他们没有填写这些字段,它应该会引发一个错误,告诉他们在继续之前填写这些字段。为此,我编写了以下代码。但我面临的问题是,当我没有填写这些字段时,它把我带到了下一页,而不是让我回到同一页面,并且没有引发任何错误。
如何在将用户带到下一页之前验证这些字段?
楷模
from django.core.exceptions import ValidationError
class Memb(models.Model):
slug=models.CharField(max_length=100)
member=models.CharField(max_length=100)
def __unicode__(self):
return self.member, self.slug
def clean_slug(self):
data=self.cleaned_data['slug']
if "Testy" not in data:
raise ValidationError("Enter the correct name for this field")
class MembForm(ModelForm):
class Meta:
model=Memb
fields=('slug','member')
意见
def my_memb(request):
if request.method=="POST":
form=MembForm(request.POST)
if form.is_valid():
data=form.cleaned_data
form.save()
return HttpResponseRedirect('/good/')
else:
form=MembForm()
return render_to_response('member.html',{'MembForm':MembForm}, context_instance=RequestContext(request))
模板
{% block content %}
<form action="" method="POST">
{{MembForm.as_p}}
<input type="submit" value="Add"/>
</form>
{% endblock %}