Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-Url模式正则表达式与带重音符号的字符串参数不匹配_Python_Django - Fatal编程技术网

Python 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中

我在向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中使用
%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