#python #django #django-views #django-sessions #django-login
Вопрос:
Я новичок в Джанго. У меня проблема в том, что представление входа в систему auth работает отлично, а представление выхода-нет.
Он перенаправляет только на страницу входа в систему.
from django.contrib.auth import views as auth_views
path('user/login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'),
path('user/logout/', auth_views.LogoutView.as_view(template_name='logout.html'), name='logout'),
Мой logout.html файл выглядит следующим образом
{% extends "base.html" %} {% load crispy_forms_tags %} {% load static %}
{% block content %}
<br />
<div class="container">
<div class="row">
<div class="col-sm-9 col-md-9 col-lg-7 mx-auto">
<div class="card card-signin my-5">
<div class="card-body">
<h5 class="card-title text-center"><b>Register</b></h5>
<form class="form-signin" method="POST">
{% csrf_token %}
<fieldset class="form-group">
<br />
{{ form|crispy }}
</fieldset>
<div class="form-group">
<button
class="btn btn-lg btn-primary btn-block text-uppercase"
type="submit"
>
Sign Up</button
><br /><br />
</div>
<small
><p class="text-center">
Already Registered!
<a href="{% url 'login' %}"><b>Login Now!</b></a>
</p></small
>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock content %}
Пожалуйста, кто-нибудь знает, почему это может произойти. Возможно ли, что представление входа в систему по умолчанию может работать, а представление выхода из системы по умолчанию не работает. Или я делаю что-то не так?.
Спасибо вам за ваши ответы.
Комментарии:
1. Почему вы уверены, что это просто перенаправление на страницу входа в систему, а не выход пользователя из системы и перенаправление на страницу входа в систему?
2. Спасибо вам за ваш ответ. Это потому, что у меня все еще есть доступ ко всем страницам с @login_required. Страница профиля все еще активна, и выход из системы по-прежнему отображается на моей навигационной панели
3. На самом деле мне интересно, почему вы используете форму входа в шаблон выхода из системы?!
4. Спасибо @SerioUs. на самом деле в этом и заключалась причина моей проблемы. Шаблоны входа и выхода были одинаковыми. У меня также был шаблон входа в систему в href моей кнопки выхода из системы , поэтому, когда я нажимаю «Выход», он просто загружает страницу входа без отправки запроса на выход. Теперь я изменил шаблон, и теперь он работает. Спасибо вам 🙂 .
Ответ №1:
отправьте свои html-данные о выходе из системы. вы делаете это правильно, но, возможно, вы не даете инструкций для своего представления выхода из системы.
Комментарии:
1. Спасибо за ваш ответ — я только что отредактировал свой первоначальный вопрос, чтобы включить Html-файл