簡體   English   中英

使用應用程序名稱和名稱空間在Django模板URL中動態添加js變量值

[英]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.

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