我在用 django.contrib.auth 并希望在登录后重定向到上一页。我想要以下内容: Django:登录后重定向到上一页 除 重定向到的URL可以包含查询字符串。
目前我的模板中有以下链接:
<a href="{% url user_login %}?next={{ request.get_full_path }}">Login</a>
user_login 是我的登录视图的名称。
我想用 {{ request.get_full_path }} 代替 {{ request.path }} 获取包含查询字符串的当前路径,但这将在查询字符串中创建一个带有查询字符串的URL(例如, /login/?next=/my/original/path/?with=other&fun=query&string=parameters)哪些不起作用。
我也试过添加一个 redirect_to 我的登录视图的参数,并将带有查询字符串的url作为arument传递给 url 模板标签。然而,这给了我一个 NoReverseMatch 错误。
如何转义获取参数然后在视图中取消引用它们?
HTML
<a href="{% url user_login %}?next={{ request.get_full_path|urlencode }}">Login</a>
登录视图
if successful_login:
url_with_get = urllib2.unquote(request.GET.get('next'))
return http.HttpResponseRedirect(url_with_get)
PS:我多次偶然发现你的博客寻找PIP帮助:)
如何转义获取参数然后在视图中取消引用它们?
HTML
<a href="{% url user_login %}?next={{ request.get_full_path|urlencode }}">Login</a>
登录视图
if successful_login:
url_with_get = urllib2.unquote(request.GET.get('next'))
return http.HttpResponseRedirect(url_with_get)
PS:我多次偶然发现你的博客寻找PIP帮助:)