robię postać login/hasło:Django. Komunikat o błędzie do formularza logowania
model:
class LoginForm(forms.Form):
username = forms.CharField(max_length=100)
password = forms.CharField(widget=forms.PasswordInput(render_value=False),max_length=100)
zobacz:
def login_view(request):
if request.method == 'POST':
username = request.POST['email']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None and user.is_active:
login(request, user)
return HttpResponseRedirect("/n1.html")# Redirect to a success page.
return HttpResponseRedirect("/login")
form=LoginForm()
return render(request, 'enter.html', {'login_form': LoginForm})
URL:
(r'^login/$', login_view),
szablon:
{% if form.errors %}
<p>Something is wrong</p>
{% endif %}
<form class="form-signin" action="" method="post">
<h2 class="form-signin-heading">Login</h2>
{% csrf_token %}
<input class="input-block-level" type="text" name="email" value="" id="email" placeholder="Email">
<input class="input-block-level" type="password" name="password" value="" id="username" placeholder="Password">
<button class="btn btn-large btn-primary" type="submit">Login</button>
<input type="hidden" name="next" value="{{next|escape}}" />
</form>
Używam przekierowania do strony logowania, a następnie login lub hasło jest nieprawidłowe, ale chcę w tym przypadku wygenerować komunikat o błędzie. Dlaczego konstrukcja {% if form.errors%} nie działa? Dzięki!
Żadna forma jest renderowany w swój 'HttpResponseRedirect'. – arulmr
użyj formularza, aby uruchomić form.errors – catherine