You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django配置LoginRequiredMixin后admin登录如何跳转回原authorized.html页面

问题根因

跳转异常的核心原因是login_url配置错误:你配置的/admin/是Django后台首页而非登录入口,访问该地址时后台会自动触发二次登录跳转,导致原next参数被嵌套为next=/admin/%3Fnext%3D/authorized/,登录成功后会优先响应第一层next跳转到后台首页,不会解析第二层的目标页面参数。

解决步骤

1. 修正视图配置

将authorizedView中的login_url直接指向Django后台登录路径,避免参数嵌套:

from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import TemplateView

class authorizedView(LoginRequiredMixin, TemplateView):
    template_name = 'home/authorized.html'
    # 替换原有的/admin/,直接指向登录页
    login_url = '/admin/login/'
    # 可省略,默认值就是next,和Django后台登录参数规则一致
    redirect_field_name = 'next'

2. 确认路由映射

检查项目根目录的urls.py是否已经配置了对应路径的路由,示例如下:

from django.contrib import admin
from django.urls import path
from home.views import authorizedView

urlpatterns = [
    path('admin/', admin.site.urls),
    # 对应你要访问的/authorized/路径
    path('authorized/', authorizedView.as_view(), name='authorized'),
]

3. 功能验证

重启Django开发服务器后,访问http://127.0.0.1:8000/authorized/,会直接跳转到http://127.0.0.1:8000/admin/login/?next=/authorized/,登录管理员账号后即可自动跳转回authorized.html页面。

异常排查:如果修改后仍然跳转异常,检查settings.py中是否配置了全局的LOGIN_REDIRECT_URL,该配置优先级高于next参数,可临时注释该配置后重试。


内容的提问来源于stack exchange,提问作者dark_prince

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:06:07