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

标签 python regex django model

我正在为我的项目使用 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/

相关文章:

Python pandas 按类别分组占总数的百分比

python - 使用 python 和 csv 的嵌套 For 循环

php - 用于检测链接但不检测图像的正则表达式模式

json - 如何在Elasticsearch中进行部分匹配?

json - django rest-framework api 和 unicode 字符

python - 获取 Django 查询集中给定条目之前和之后的条目

python - Pydev pep8 使用自定义 pep8.py 检查(支持名称检查),似乎无法正常工作

python - 使用正则表达式在字符串的开头和结尾处过滤带有 ~ 的 Pandas 行

django - 以单独的输入形式显示 django DateTimeRangeField()

python - 如何使用 Scapy 确定无线加密类型?