1
我無法只通過{% url %}
標記獲取網址的一部分。Django:使用{%url%}查找視圖網址的一部分
的URL設置包含此:
url("^delete/(?P<uuid>[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/$",
deleteView,
name = "delete"),
,這意味着它的UUID刪除一個項目(視圖需要一個參數的「uuid」,你可以看到)。由於我不想在URL映射更改時更改所有模板,因此我使用了指定的URL(本例中爲「delete」)。
然後在模板中,我想通過AJAX訪問該URL,但需要使用JavaScript提供UUID參數,所以實際上我只需要URL的/delete/
部分。我目前的解決方案是這樣的:
uuid = "some uuid that should be deleted on the server";
$.get("{% url myinstancenamespace:delete "00000000-0000-0000-0000-000000000000" %}"
.replace("00000000-0000-0000-0000-000000000000", uuid),
function(data)
{
// process server response
}, "text");
這似乎更像是對我的破解。那麼,有沒有比這更好的解決方案?
然後,我將不得不重新在視圖中的URL,這導致另一個地方必須知道URLconf。那是另一個(更大的)破解IMO。 – AndiDog 2010-03-25 18:08:19
沒有。 uuid仍然會作爲參數傳入,但函數簽名會是'def deleteView(request,uuid = None):',你只需要檢查'如果uuid是None'。 – 2010-03-25 18:27:04
你能編輯你的答案,包括完整的正則表達式,我想我不明白你的意思(不按照我解釋你的答案的方式)。 – AndiDog 2010-03-25 18:53:19