[英]dynamically add js variable value in django template url with appname and namespace
我在項目中有多個應用程序,並且使用appname和名稱空間作為url。 我需要在django模板網址中使用應用程序名稱動態添加js變量值。 如果我沒有寫appname之類的文字-
var temp =23
var href = "{% url 'report_page' id=0 %}".replace(/0/, temp.toString())
它給出了預期的結果,因為-
"{% url 'report_page' location_id=23 %}"
但是當我使用appname時,它對我不起作用
var href = "{% url 'appname : report_page' id=0 %}".replace(/0/, temp.toString())
讓我給您確切的代碼:在Django模板中:
<html>
<a href="{% url 'appname : report_page' id=0 %}">Report</a>
</html>
var href =“ {%url'appname:report_page'id = 0%}”。replace(/ 0 /,temp.toString())
在應用名稱的url.py中:
def report_page(request):
import pdb;pdb.set_trace()
# location_id = request.GET['id']
return render(
request,
'report.html',
{'id' : request.user.id, 'id' : ''}
)
在視圖中:
var temp =$('#check_id').val() <a href="{% url 'appname: report_page' %}?id="+temp;>Report</a>
注意:我使用的是django 1.11,我也嘗試過以下方法,但得到的字符串為空:
var temp =$('#check_id').val() <a href="{% url 'appname: report_page' %}?id="+temp;>Report</a>
當您使用djagno網址(例如{% url 'appname : report_page' id=0 %}
)時,當django模板呈現時,它將轉換為類似/appname/report-page/0/
的解決方案,首先是將采取a
標簽屬性,然后值改變這一點。 請找到以下解決方案。
var arr = $("a").attr('href').split('/') arr[arr.length-2]=777 # demo value $("a").attr('href',arr.join('/'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.