【问题标题】:Passing form variable dynamically to Django template tag将表单变量动态传递给 Django 模板标签
【发布时间】:2013-03-06 14:20:10
【问题描述】:

我想动态地将一个变量传递给 django 模板标签,但我没有成功。

<input id="country" />
<div id="button"> Button </div>

$('#button').click(function(){
    var dynamicVar=$('#country').val(); 
    var tags= {    
    source: {% url myView dynamicVar %}  /* but {% url myView 'someValue' %} works */
    select: function(event, s){
        $("#city").val(s.label);
        };
    $("#city").autocomplete(tags);
});

我收到这个 NoReverseMatch 错误,说 dynamicVar 没有通过。

长话短说:我正在尝试获取 2 个级联下拉列表。用户选择一个国家,然后城市输入变为可用。我希望城市字段是自动完成的字段。目前,没有国家字段,它可以工作,但查询很慢。所以我想预先过滤它。

【问题讨论】:

  • 你的模板标签代码在哪里?
  • 我使用url模板标签。
  • 仔细查看您渲染的页面,var dynamicVar 在客户端。
  • @iMom0 是的,我想了解如何在不加载另一个视图的情况下将客户端变量传递给服务器。

标签: jquery django


【解决方案1】:

{% url myView dynamicVar %} 在服务器端呈现,所以你必须:

var dynamicVar = $('#country').val(); 
var url = 'http://your_site.com/autocomplete_country/' + dynamicVar + '/'

为避免在模板中硬编码服务器名称,请使用request.get_host

【讨论】:

  • 我想这应该可行,我需要检查何时回到我的工作站,如果可行则选择答案。
猜你喜欢
  • 2017-03-02
  • 2011-03-04
  • 1970-01-01
  • 2020-04-24
  • 2015-06-22
  • 2012-09-27
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
相关资源
最近更新 更多