繁体   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