0

我想动态地将一个变量传递给 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 个级联下拉列表。用户选择一个国家,然后城市输入变为可用。我希望城市字段是自动完成的字段。目前,没有国家字段,它可以工作,但查询很慢。所以我想预先过滤它。

4

1 回答 1

1

{% url myView dynamicVar %}在服务器端呈现,因此您必须:

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

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

于 2013-03-18T10:17:36.737 回答