我正在为我的项目使用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)输出当前路径与任何网址都不匹配我想知道我的需求的确切正则表达式?
1 回答

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
只要 URL 中的每个路径组件都经过 URL 编码,第一个是正确的。 是 URL 中的特殊字符:它表示路径的结尾以及路径之后的任何内容,这些内容都被解释为查询参数:path()
?
http://www.example.com/apples?color=green
具有路径和值为 的查询参数。http://www.example.com/apples
color
green
因此,如果要将字符串“你的名字是什么?”包含在你的路径中,则需要确保它是 URL 编码的:URL 编码的位置和用于 .What%20is%20your%20name%3F
%3F
?
%20
<space>
添加回答
举报
0/150
提交
取消