2024-05-15 00:20:28 发布
网友
如果第一个参数包含正斜杠作为其内容的一部分,如何为两个参数创建url模式:
da/ta1=/data2
最初我有以下模式:
但是,此模式不匹配,因为第一个正斜杠是参数数据的一部分。在
假设您自己构造url,可以使用^{}对内联正斜杠进行编码:
>>> '/'.join([urllib.quote_plus(d) for d in ['da/ta1', 'data2']]) 'da%2Fta1/data2'
解码:
为了匹配数据,可以将模式更改为下面的构造。对于第一个参数,这将匹配=字符的所有内容;第二个参数应该是字母数字。在
=
(r'^view/(?P<item_id>[^=]+)=/(?P<changekey>\w+)/$', 'view')
Django-Admin在参数中也有斜杠的问题。为了解决这个问题,Django使用它自己的quote函数:
from django.contrib.admin.utils import quote quote(param1)
在视图本身:
假设您自己构造url,可以使用^{} 对内联正斜杠进行编码:
解码:
^{pr2}$为了匹配数据,可以将模式更改为下面的构造。对于第一个参数,这将匹配
=
字符的所有内容;第二个参数应该是字母数字。在Django-Admin在参数中也有斜杠的问题。为了解决这个问题,Django使用它自己的quote函数:
在视图本身:
^{pr2}$相关问题 更多 >
编程相关推荐