Django url 模式忽略多余的字符
Django url pattern to ignore extra characters
我有一个 django url 如下所示:
url(r'^update_status/field1/(?P<field1_id>.*)/field2/(?P<field2_id>.*)/$', 'update_status', name='update_status')
这会捕获两个 url,如:
update_status/field1/0445df4d8e1c43ae9/field2/f12b6b5c98/mraid.js/
和
update_status/field1/0445df4d8e1c43ae9/field2/f12b6b5c98
我只想捕获第二个 url 。 django url 中应该更改什么?
您的正则表达式 (?P<field_id>.*)
可以捕获任何字符,包括 /
个字符。您希望将其限制为 field_id
的格式,如下所示:(?P<field1_id>[0-9a-f]+)
(与 field2_id 相同)。
注意:我假设您的 ID 仅包含十六进制字符。
我有一个 django url 如下所示:
url(r'^update_status/field1/(?P<field1_id>.*)/field2/(?P<field2_id>.*)/$', 'update_status', name='update_status')
这会捕获两个 url,如:
update_status/field1/0445df4d8e1c43ae9/field2/f12b6b5c98/mraid.js/
和
update_status/field1/0445df4d8e1c43ae9/field2/f12b6b5c98
我只想捕获第二个 url 。 django url 中应该更改什么?
您的正则表达式 (?P<field_id>.*)
可以捕获任何字符,包括 /
个字符。您希望将其限制为 field_id
的格式,如下所示:(?P<field1_id>[0-9a-f]+)
(与 field2_id 相同)。
注意:我假设您的 ID 仅包含十六进制字符。