如何在django中写re_path url来阅读特殊字符?

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


断续器


{% 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获得所有详细信息时,如果我的输入包含特殊字符和数字,它也不包含?标记。


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


问题我试过这个:


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

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


我想知道我的需求的确切正则表达式?


慕桂英3389331
浏览 76回答 1
1回答

拉风的咖菲猫

只要 URL 中的每个路径组件都经过 URL 编码,第一个是正确的。 是 URL 中的特殊字符:它表示路径的结尾以及路径之后的任何内容,这些内容都被解释为查询参数:path()?http://www.example.com/apples?color=green具有路径和值为 的查询参数。http://www.example.com/applescolorgreen因此,如果要将字符串“你的名字是什么?”包含在你的路径中,则需要确保它是 URL 编码的:URL 编码的位置和用于 .What%20is%20your%20name%3F%3F?%20<space>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python