Djangoモデルの1つにアクセスする必要があるjQueryがページに少しあります。基本的にはフォームのオートコンプリートであり、データベースで値を検索する必要があります。
Djangoテンプレートに値を取得する方法は理解していますが、Javascriptコードに値を取得するのは混乱を招きます。
これは可能ですか?どうすればそれができますか?
ありがとうございました。
回答:
回答№1は1このリンクには、必要なものがすべて含まれています。コードは適切に記述されており、理解しやすいです。モデル/テーブルの値を使用して、入力フィールドに自動入力できます。 このリンクから確認してください。
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>