重定向到Django项目
下午好,创建项目的时候遇到了一些问题。情况是这样的,内置的登出功能不太正常。当我在网站上以用户身份登出时,会被重定向到 http://127.0.0.1:8000/users/logout 这个地址。而且在另一个项目中,这一切都运行得很好。下面是设置文件中的一些变量、网址和按钮模板:
urls.py
from django.contrib.auth.views import LoginView, LogoutView
from django.urls import path
from users.apps import UsersConfig
from users.views import RegisterView, ProfileView
app_name = UsersConfig.name
urlpatterns = [
path('', LoginView.as_view(template_name='users/login.html'), name='login'),
path('logout/', LogoutView.as_view(next_page='users:login'), name='logout'),
path('register/', RegisterView.as_view(), name='register'),
path('profile/', ProfileView.as_view(), name='profile'),
]
settings.py
AUTH_USER_MODEL = 'users.User'
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
模板
<div class="col-sm-4 offset-md-1 py-4">
<h4 class="text-white">Меню</h4>
<ul class="list-unstyled">
<li><a href="{% url 'catalog:home' %}" class="text-white">Главная</a></li>
<li><a href="{% url 'catalog:contact' %}" class="text-white">Контакты</a></li>
<li><a href="{% url 'blog:blog' %}" class="text-white">Блог</a></li>
{% if user.is_authenticated %}
<li><a href="{% url 'users:logout' %}" class="text-white">Выйти</a></li>
<li><a href="{% url 'users:profile' %}" class="text-white">Профиль</a></li>
{% else %}
<li><a href="{% url 'users:login' %}" class="text-white">Войти</a></li>
<li><a href="{% url 'users:register' %}" class="text-white">Регистрация</a></li>
{% endif %}
</ul>
</div>
重定向到主页
1 个回答
0
试试这个
LOGIN_REDIRECT_URL = 'profile'
LOGOUT_REDIRECT_URL = 'login'