0

本质上,我有一个接受不同操作和不同数量参数的视图。这以前在以下状态下工作:

url(r'^items/(?P<op>[a-zA-Z0-9]+)/(?P<id>[0-9]+)$', login_required(ItemOpView.as_view()), name='my.views.item_op'),

这总是提供kwargs['op']kwargs['id']视图。这允许 URL 如下:

  • 项目/删除/1
  • 项目/节目/1
  • 项目/隐藏/1

但是,我想调整规则以接受以下内容:

  • items/relocate/1/2 表示我也想拥有kwargs['id2']

我试图用规则来做到这一点:

url(r'^items/(?P<op>[a-zA-Z0-9]+)/(?P<id>[0-9]+)(?/)(?P<id2>[0-9]+)$', login_required(ItemOpView.as_view()), name='my.views.item_op'),

但是,这不起作用,只会给出 404。

感谢您的任何建议!

4

1 回答 1

2

只需添加另一个 url 条目,如下所示:

url(r'^items/(?P<op>[a-zA-Z0-9]+)/(?P<id>[0-9]+)/(?P<id2>[0-9]+)$', login_required(ItemOpView.as_view()), name='my.views.item_op')

并确保您的视图接受None第二个参数的默认参数(如 )。

于 2012-10-24T09:35:19.190 回答