Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class LoginForm(forms.Form):
- username = forms.CharField(label='Введите Ваш логин')
- password = forms.CharField(label='Введите Ваш пароль', widget=forms.PasswordInput)
- def clean(self):
- cleaned_data = super(LoginForm, self).clean()
- username = self.cleaned_data['username']
- password = self.cleaned_data['password']
- if not User.objects.filter(username=username).exists():
- raise forms.ValidationError('Пользователь с таким логином не зарегистрирован!')
- user = User.objects.get(username=username)
- if user and not user.check_password(password):
- raise forms.ValidationError('Неверный пароль!')
- def login_view(request):
- if request.method == 'POST':
- form = LoginForm(request.POST)
- if form.is_valid():
- username = form.cleaned_data['username']
- password = form.cleaned_data['password']
- login_user = authenticate(username=username, password=password)
- if login_user:
- login(request, login_user)
- return redirect('/')
- else:
- form = LoginForm()
- return render(request, 'registration/login_view.html', {'form': form})
- {% extends 'base.html' %}
- {% block content %}
- <div class="title">Вход</div>
- <section id="login" class="border">
- <form id="login-form" action="" method="POST">
- {% csrf_token %}
- {% for field in form %}
- {{ field.errors }}
- <ul>
- <li>{{ field.label }} *</li>
- <li>
- <input class="input" name="{{ field.name }}" type="{{ field.name }}" /> </li>
- </ul>
- {% endfor %}
- <div>
- <span><input class="block" type="submit" value="Войти" /></span>
- </div>
- </form>
- </section>
- {% endblock content %}
- {% extends 'base.html' %}
- {% block content %}
- <div class="title">Вход</div>
- <section id="login" class="border">
- <form id="login-form" action="" method="POST">
- {% csrf_token %}
- {{ form.non_field_errors }}
- {% for field in form %}
- <ul>
- <li>{{ field.label }} *</li>
- <li>
- <input class="input" name="{{ field.name }}" type="{{ field.name }}" /> </li>
- </ul>
- {% endfor %}
- <div>
- <span><input class="block" type="submit" value="Войти" /></span>
- </div>
- </form>
- </section>
- {% endblock content %}
Add Comment
Please, Sign In to add comment