重定向到Django项目

0 投票
1 回答
23 浏览
提问于 2025-04-14 18:06

下午好,创建项目的时候遇到了一些问题。情况是这样的,内置的登出功能不太正常。当我在网站上以用户身份登出时,会被重定向到 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'

撰写回答