gpt4 book ai didi

python - 如何在django中编写re_path url来读取特殊字符?

转载 作者:太空宇宙 更新时间:2023-11-03 19:44:05 24 4
gpt4 key购买 nike

我正在为我的项目使用 Django URL 模式。我正在发送一个包含特殊字符数字的字符串。在 python 函数中读取字符串时,它不会在函数中获取 ?

html

{% for user_name in userSet%}
<a class="dropdown-item" href="/slackNotification/{{user_name}}/{{data.question}}">{{ user_name }}</a>
{% endfor %}

网址

path('slackNotification/<str:slack_user_name>/<str:question>',views.slackNotification)

当我通过 URL 获取所有详细信息时,无论我在 python 代码中收到什么字符串,它都不会包含 ? 标记,即使我的输入包含特殊字符和数字。

输入:你叫什么名字?输出:你叫什么名字(问号不可用;)

问题我已经尝试过:

re_path(r'^slackNotification/<str:slack_user_name>/(?P<question>\w+)',views.slackNotification)

输出当前路径与任何 url 都不匹配

我想知道满足我的要求的确切正则表达式??

最佳答案

您的第一个path()只要 URL 中的每个路径组件都是 URL 编码的,就是正确的。 ?是 URL 中的特殊字符:它表示路径的结尾,其后面的任何内容都被解释为查询参数:

http://www.example.com/apples?color=green

路径为http://www.example.com/apples和查询参数color值(value)green .

因此,如果您想要字符串“What is your name?”要包含在您的路径中,您需要确保它是 URL 编码的:What%20is%20your%20name%3F哪里%3F是 URL 编码的 ?%20用于<space> .

关于python - 如何在django中编写re_path url来读取特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60264783/

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