2011-07-02 43 views
1

我有這樣的URL文件是否有可能使位置參數可選的URL在Django

(r'^new/(?P<object_class>\w+)/(?P<action>\w+)/(?P<object_id>\d+)/$', create_object)

現在URL像/new/book/edit/5它做工精細

但是,如果我這樣做/new/book/create則說,也沒有URL匹配。

是否有可能第三argumrent是可選的,這樣我可以使用上述情況

回答

0
(r'^new/(?P<object_class>\w+)/(?P<action>\w+)/((?P<object_id>\d+)/)?$', create_object) 

這應該去做一個URL規則。 (請注意,我在(..)?包裹object_id/使其可選)

現在object_id應該是沒有在視圖中。

+0

謝謝哥們,你們兩個的答案都很混亂,但它工作。我剛剛弄糊塗哪一個工作之前 – user1

0

可以標記的參數作爲可選的正則表達式的字符爲0或1問號)一個使用你的例子我用:

(r'^new/(?P<object_class>\w+)/(?P<action>\w+)(/(?P<object_id>\d+))?/$', create_object) 

需要注意的重要一點是,尾隨/應該還是出席。

相關問題