Python 如何在django中编写re_路径url以读取特殊字符?

Python 如何在django中编写re_路径url以读取特殊字符?,python,regex,django,model,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('slackNot

我正在为我的项目使用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)
{%userSet%中的用户名为%u}
{%endfor%}
url

{% 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)
path('slackNotification/',views.slackNotification)
当我通过URL获取所有详细信息时,无论我在python代码中收到哪个字符串,它都不会包含标记,即使我的输入包含特殊字符和数字

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

问题 我试过这个:

re_path(r'^slackNotification/<str:slack_user_name>/(?P<question>\w+)',views.slackNotification)
re_路径(r'^slackNotification/(?P\w+),视图。slackNotification)
输出 当前路径与任何url都不匹配

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

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

http://www.example.com/apples?color=green
具有路径
http://www.example.com/apples
和一个查询参数
color
,其值为
绿色


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

的,以及上述解决方案,请参考链接以了解有关urllib.parse.quote和urllib.parse.unquote的更多信息。URL中的
表示路径的结尾和查询参数列表的开头,如
http://example.com/apples?color=green
路径为
http://example.com/apples
,而
{'color':'green'}
是查询指令。只有
前面的部分被认为是路径。因此,如果您想在URL中包含
,您应该对其进行URL编码:
%3F
。其他特殊字符也是如此,例如空格是
%20
@dirkgroten非常感谢您分享您的知识。