我有這樣的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是可選的,這樣我可以使用上述情況
我有這樣的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是可選的,這樣我可以使用上述情況
(r'^new/(?P<object_class>\w+)/(?P<action>\w+)/((?P<object_id>\d+)/)?$', create_object)
這應該去做一個URL規則。 (請注意,我在(..)?
包裹object_id
和/
使其可選)
現在object_id
應該是沒有在視圖中。
可以標記的參數作爲可選的正則表達式的字符爲0或1問號)一個使用你的例子我用:
(r'^new/(?P<object_class>\w+)/(?P<action>\w+)(/(?P<object_id>\d+))?/$', create_object)
需要注意的重要一點是,尾隨/應該還是出席。
謝謝哥們,你們兩個的答案都很混亂,但它工作。我剛剛弄糊塗哪一個工作之前 – user1