gpt4 book ai didi

python - 带有查询参数的 Django next

转载 作者:行者123 更新时间:2023-12-02 15:19:38 26 4
gpt4 key购买 nike

我的网站有一个页面列表,这些页面位于/record 下,并且只能使用 type 和 id 查询参数。像这样:

/record?type=poem&id=175

我正在使用 django next 重定向从登录页面转到上一页。我最初使用 href="{% url 'auth:login' %}?next={{ request.path }}" 进行重定向,但它没有使用查询参数(即类型和ID)。这会将用户带到

/login/?next=/record

然后我使用了 href="'{% url 'auth:login' %}?next={{ request.path }}'+window.location.search"。但是,这也不起作用。这会将用户带到

/login/?next=/record?type=poem&id=175

但它最终重定向到

/record

如何使用 next 和查询参数进行重定向?这种行为不可能吗?

最佳答案

您需要对 URL 中的特殊字符进行转义,即“?”、“&”和“=”。虽然有 django.utils.encoding.escape_uri_path ,它不会转义符号 (&),这是一个问题,因为它将被解释为 next 参数的结尾和另一个参数的开头。

相反,您可以使用 urllib.parse.quote :

from urllib.parse import quote
current_url_escaped = quote(request.get_full_path())

在模板中:

href="{% url 'auth:login' %}?next={{ current_url_escaped }}

关于python - 带有查询参数的 Django next,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38167348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com