首页 > 解决方案 > 登录后 Django 重定向丢失查询字符串

问题描述

我有一个需要用户登录的视图。它可以选择接收一些查询字符串参数。问题是用户成功登录后查询字符串丢失。

我的观点:

@ensure_csrf_cookie
@login_required
@permission_required('MyApp.view_usage',raise_exception=True)
def pdfParser(request):
    return render(request,'MyApp/dashboard.html',{})

我调用以访问该视图的 url(使用登录重定向):

http://127.0.0.1:8000/accounts/login/?next=/OldStyle/%3FDOCUMENT_ID%3Dlkpto%26SERIES%3D0001

登录后生成的网址:

http://127.0.0.1:8000/OldStyle

我应该在哪里/做什么来拦截和修复它?

编辑:我想要确定是否需要重写登录视图,因为我使用的是交付的 django auth 登录视图,或者有一个设置(设置)可以使查询字符串自动转到重定向视图

标签: djangodjango-views

解决方案


问题出在我自己的 html 上……我必须?next={{next|urlencode}}在操作上添加才能使其工作……

所以现在我的 login.html 表单如下所示:

 <form class="user" method='POST' action="{% url 'login' %}?next={{next|urlencode}}">

推荐阅读