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);
});

dynamicVar が渡されていないというこの NoReverseMatch エラーが発生しています。

長い話: 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 に答える