Кнопка запомнить в AuthenticationForm
Имеется такой код:
class LoginUserForm(AuthenticationForm):
username = forms.CharField(label='Логин', widget=forms.TextInput(attrs={'class': 'form-input', 'placeholder': 'Username'}))
password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input', 'placeholder': 'Password'}))
...
class LoginUser(DataMixin, LoginView):
form_class = LoginUserForm
template_name = 'iviolations/login.html'
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
c_def = self.get_user_context(title="Авторизация")
return dict(list(context.items()) + list(c_def.items()))
def get_success_url(self):
return reverse_lazy('home')
...
<form method="post">
{% csrf_token %}
<div class="form-error">{{ form.non_field_errors }}</div>
{% for f in form %}
<label class="form-label" for="{{ f.id_for_label }}"></label>{{ f }}
<div class="form-error">{{ f.errors }}</div>
{% endfor %}
<button type="submit">Войти</button>
</form>
Как добавить кнопку запомнить?
Ответы (1 шт):
Автор решения: amadou sow
→ Ссылка
forms.py
class LoginUserForm(AuthenticationForm):
username = forms.CharField(label='Логин', widget=forms.TextInput(attrs={'class': 'form-input', 'placeholder': 'Username'}))
password = forms.CharField(label='Пароль', widget=forms.PasswordInput(attrs={'class': 'form-input', 'placeholder': 'Password'}))
...
remember_me = forms.BooleanField() #новый
views.py.
class LoginUser(DataMixin, LoginView):
form_class = LoginUserForm
template_name = 'iviolations/login.html'
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
c_def = self.get_user_context(title="Авторизация")
return dict(list(context.items()) + list(c_def.items()))
def get_success_url(self):
return reverse_lazy('home')
def form_valid(self, form):
remember_me = form.cleaned_data['remember_me']
if not remember_me:
self.request.session.set_expiry(0)
self.request.session.modified = True
return super(LoginUser, self).form_valid(form)
Это просто идея как вы можете это сделать.
в settings.py добавите это:
LOGIN_REDIRECT_URL = 'home'