次のページにリダイレクトされる前に、ユーザーがすべてのフィールドに入力していることを確認したいと思います。また、フィールドに入力しないと、続行する前にフィールドに入力するように指示するエラーが発生するはずです。そのために、以下のコードを記述しました。しかし、私が直面している問題は、フィールドに入力しなかった場合、同じページに戻るのではなく、次のページに移動し、エラーが発生しなかったことです。
ユーザーを次のページに移動する前に、これらのフィールドを検証するにはどうすればよいですか?
モデル
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 %}