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 仅包含十六进制字符。