2012-10-24 25 views
0

本質上,我有一個接受不同操作和不同數量參數的單一視圖。這是以前的狀況如下工作:Django URL調度器變量組件數量

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']的視圖。這允許網址,如:

  • 項/刪除/ 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

感謝您的諮詢!

回答

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),第二個參數。

+0

啊我意識到我可以做這個權利後,我張貼:)謝謝! – DanH

+0

沒問題。不要忘了關閉這個問題,如果它爲你工作。 – zsquare

+2

好答案+1。我只會補充一點,確保你的模式是按照正確的順序。 –