将表单变量动态传递给Django模板标记

时间:2013-03-18 09:38:00

标签: jquery django

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

1 个答案:

答案 0 :(得分:1)

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

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

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