我有一個網址定義如下:自定義的URL /details/
:Django的{%URL%}不帶參數的標籤
url(r'^details/(?P<id>\d+)$', DetailView.as_view(), name='detail_view'),
在我的模板,我希望能夠得到以下網址。
我試過{% url detail_view %}
,但是我得到一個錯誤,因爲我沒有指定參數id
。
我需要沒有ID的網址,因爲我會用JS追加它。
我該如何做到這一點?
我有一個網址定義如下:自定義的URL /details/
:Django的{%URL%}不帶參數的標籤
url(r'^details/(?P<id>\d+)$', DetailView.as_view(), name='detail_view'),
在我的模板,我希望能夠得到以下網址。
我試過{% url detail_view %}
,但是我得到一個錯誤,因爲我沒有指定參數id
。
我需要沒有ID的網址,因爲我會用JS追加它。
我該如何做到這一點?
只是這行添加到您的urls.py
:
url(r'^details/$', DetailView.as_view(), name='detail_view'),
或:
url(r'^details/(?P<id>\d*)$', DetailView.as_view(), name='detail_view'),
(這是一個清潔的解決方案 - 感謝托馬斯·奧羅斯科)
你需要在您的查看功能中指定id
是可選的:
def view(request, id=None):
注意:這兩個urlpatterns將需要一個唯一的名稱,所以如果您命名這個「detail_view」,請將您的原始文件重命名爲「detail_view_with_id」。 –
如果你打算修改視圖來接受一個可選參數,我想你可能會使參數爲可選:'r'^ details /(?P
如何在模板「{%url detail_view%}」中指定id參數? – user1629366
目的是什麼?如果沒有'id'參數,這個URL不能匹配,那麼爲什麼你要創建一個鏈接呢?也許你正試圖解決另一個問題,你的解決方案不是正確的? –
我將使用JavaScript附加ID,但我希望將URL作爲js變量。 – AlexBrand
你總是可以使用'id = -1'(反正你不希望是一個ID),並在需要時用最合適的ID代替最右邊的-1。 如果你問我,似乎對我非常討厭,但總比定義另一個網址好。 –