【问题标题】:How to user Django reverse URL with java script variable?如何使用 javascript 变量使用 Django 反向 URL?
【发布时间】:2012-07-22 01:05:30
【问题描述】:

我在我的 Django 模板上使用了一个按钮,单击该按钮后,它应该会打开一个由 reverse url(template tags) 提供的链接。我尝试了以下代码,但没有成功

<input type= "button" style="float: right;" value="Next Graph" onClick="javascript:location.href = 'reverse(graph_view)';"></input>

我知道上面的语法有些问题。什么是正确的?

PS:我不想使用任何外部库

【问题讨论】:

    标签: javascript html django django-templates


    【解决方案1】:

    只需为此{% url %} 使用实际的模板标签。见:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#url

    更新

    应该是这样的:

    <input type= "button" style="float: right;" value="Next Graph" onClick="javascript:location.href = '{% url graph_view %}';"></input>
    

    如果仍然无法正常工作,则说明您还有其他问题。创建一个新问题并确保发布您收到的任何错误和堆栈跟踪。

    【讨论】:

    • 确切的语法是什么,因为我已经尝试过了 *** *** 但它没有用
    • 您是否使用了单引号,即{% url 'host_list' %}{% url host_list %}With 引号仅适用于 Django 主干,但现在可以通过在使用 url 标记之前添加 {% load url from future %} 来实现前向兼容性。否则,不要在视图名称周围使用引号。
    • 我使用了两个,即带引号和不带引号。我认为问题出在引号。能否请您粘贴正确的语法(完整的 ...)?
    • 我下面的答案是完全一样的。我想我会删除它。
    【解决方案2】:

    'reverse' 仅适用于服务器端,不适用于模板。

    你应该使用模板标签。

    {% url 'graph_view' %}
    

    https://docs.djangoproject.com/en/dev/ref/templates/builtins/#url

    【讨论】:

    • 感谢@dannyroa 的回复,我试过了 但它不起作用。有语法错误吗?
    猜你喜欢
    • 2012-08-07
    • 2017-09-06
    • 1970-01-01
    • 2015-05-14
    • 2021-05-29
    • 2023-01-20
    • 2018-01-23
    • 2017-08-14
    • 1970-01-01
    相关资源
    最近更新 更多