0
私はすべてのページに表示したいので、私は自分のbase.html上にフォームを持っています。フォームが有効でないときに検証のエラーを表示したいのですが、それは私のビューにリダイレクトされます検証は偽であり、私がやった方法をここで私にエラー500Django:フォームがbase.htmlで有効でない場合、フォーム検証エラーを表示する方法は?
をスロー:views.py
def askProject(request):
if request.method == 'POST':
form = AskProjectForm(request.POST)
if form.is_valid():
form.save()
return redirect(reverse('success-msg'))
else:
form = AskProjectForm()
forms.py:
class AskProjectForm(forms.ModelForm):
class Meta:
model = AskProject
fields = ['prenom', 'nom', 'numero']
def clean_prenom(self):
prenom = self.cleaned_data['prenom']
if len(prenom) < 3:
raise ValidationError('Votre prénom doit etre plus long que 1 caractère.')
return prenom
...
context_processors.py:
from pages.forms import AskProjectForm
def AskProjectFormProcessor(request):
return {'AskProjectForm' : AskProjectForm()}
base.html:
<form method="post" action="{% url 'ask-project' %}">
{% csrf_token %}
<div class="col-lg-4 col-md-4 col-sm-12 col-xs-12">
<p>{{ AskProjectForm.prenom.errors }}</p>
<label for="prenom">Votre prenom<span class="form-required" title="Ce champ est requis.">*</span></label>
{{ AskProjectForm.prenom }}
</div>
...
<div class="form-button col-lg-12 col-md-12 col-sm-12 col-xs-12">
<button class="btn btn-default submit">C'est parti !</button>
</div>
</form>
私は、ユーザー(リクエスト、...、{...}をレンダリングすることはできませんので、どのように私はこの問題を解決することができます)のbase.html?
エラー確認メッセージを表示しているユーザーと同じページに戻ってください。
これは私がやったと思ったものです! – Lindow
jquery ajaxリクエストは、UIを妨害する必要がないバックグラウンドAPIコールに対して、より機敏です。 – zaidfazil