2016-10-11 7 views
-2

自分のページにjQueryを少し載せて、私のDjangoモデルにアクセスする必要があります。基本的にはフォームのオートコンプリートで、データベース内の値を参照する必要があります。JavascriptまたはjQueryはどのように私のDjangoモデルにアクセスできますか?

私はDjangoテンプレートに値を取得する方法を理解していますが、いくつかのJavascriptコードに値を取得するのは混乱します。

これは可能ですか?どのようにそれを行うことができますか?

ありがとうございます。

+0

限り、私はこれが不可能である知っているように、テンプレートに値を渡す必要があります、それについて混乱するものはありません –

+0

@トムブロク、コードを試しましたか? –

答えて

1

このリンクは必要なものはすべてそろっています。コードは正しく書かれており、理解しやすいです。モデル/テーブルの値を入力フィールドに自動入力することができます。 Check from this link.

def get_Datas(request): 
     if request.is_ajax(): 
      q = request.GET.get('term', '') 
      Datas = DataModel.objects.filter(short_name__icontains = q)[:20] 
      results = [] 
      for Data in Datas: 
       Data_json = {} 
       Data_json['value'] = Data.short_name 
       results.append(Data_json) 
      data = json.dumps(results) 
     else: 
      data = 'fail' 
     mimetype = 'application/json' 
     return HttpResponse(data, mimetype) 

、テンプレートでこれを使用し、

<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css" type="text/css" media="all" /> 

    <div class="ui-widget"> 
     <label for="datas">datas: </label> 
     <input id="datas"> 
    </div> 

、スクリプトは次のようになります。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"> 
    </script> 
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script> 
    <script> 
    $(function() { 
     $("#datas").autocomplete({ 
     source: "/get_Datas/", 
     minLength: 1, 
     }); 
    }); 
    </script> 
関連する問題