Python Django-Url模式正则表达式与带重音符号的字符串参数不匹配
我在向Django应用程序传递带有重音符号的字符串参数时遇到一些问题。我有以下url模式:Python Django-Url模式正则表达式与带重音符号的字符串参数不匹配,python,django,Python,Django,我在向Django应用程序传递带有重音符号的字符串参数时遇到一些问题。我有以下url模式: url(r'^galeria/(?P<page>\d+)/(?P<order>\w+)/(?P<query>[\w|\W]+)', 'possible_brastemp.views.gallery_with_page_and_query'), 模式不匹配。我已将问题隔离到“%E9”字符(“%20”不会中断匹配) 如何更改正则表达式以将参数与编码字符匹配 谢谢在URL中
url(r'^galeria/(?P<page>\d+)/(?P<order>\w+)/(?P<query>[\w|\W]+)', 'possible_brastemp.views.gallery_with_page_and_query'),
模式不匹配。我已将问题隔离到“%E9”字符(“%20”不会中断匹配)
如何更改正则表达式以将参数与编码字符匹配
谢谢在URL中使用
%c3%a9
而不是%e9
。正则表达式没有失败。。。Django甚至连urlconf都没有。检查日志,您可能会收到400个错误
URI路径应仅包含UTF-8编码的字符。任何无法表示为普通可打印ASCII字符(且不在保留列表中)的UTF-8字符都应进行百分比编码
é
(U+00E9)是UTF-8中的多字节字符:0xc3a9
。编码形式的百分比应为%C3%A9
。单字节0xe9不是有效的UTF-8字符
看
[\w |\w]+
成功匹配包含%C3%A9
的URL。Django似乎将URL字节字符串百分比解码为Unicode字符串,然后将其转换为UTF-8以进行urlconf匹配
http://127.0.0.1:8000/galeria/1/ultimos/Julian%20Andr%E9s