簡體   English   中英

django是否可以在不傳遞參數的情況下獲取反向URL?

[英]django Is there a way to get a reversed url without passing parameters?

我正在使用ajax數據將信息傳遞到我的頁面,但是我需要創建一些鏈接,這些鏈接使用javascript中的數據來調用視圖,因此通常當一個人執行{% url 'jobs:close' foo %}時傳遞的參數,例如,在呈現模板時不可用,但稍后通過ajax調用導入。 顯然,這會在渲染模板時導致錯誤。

有沒有辦法保持在這種情況下進行反向URL查找的好處,並在不傳遞foo的情況下動態獲取模板中的URL,還是我需要在模板中對URL進行硬編碼並將參數粘貼到末尾?

不要在ajax響應中獲取“ foo”,而是在ajax響應中獲取反向URL,並在需要URL的地方替換DOM。

在考慮了一下並查看了注釋之后,我決定添加一個偽參數並將其刪除的答案。 由於將在呈現表單時將其刪除,因此該參數無關緊要。 我選擇了1

因此,在模板中,我放入了{% url 'jobs:close' '1' %} 然后在我的JavaScript中,當我以模式調用表單時,我使用jquery查找表單。 再次使用相同的URL變得很容易,所以這里是:

var modal = $("#modal");
var closeUrl =  '{% url 'jobs:close' '1' %}';
closeUrl = closeUrl.substring(0, closeUrl.length - 2) + event.data.id + /;
modal.find("#close-job").attr('action', closeUrl);

event.data.id是我真正需要的作業ID的存儲位置。

它不像我想要的那么光滑,但是效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM