Я хочу получить ajax response.then показать атрибут списка выбора в шаблоне Django.Я беру данные с помощью ajax-запроса, но выбор компонентов списка не показывает результат запроса. Я хочу показать результат запроса при поиске по ключевому слову. Когда загрузка страницы не заполняет список.Просто покажите поисковый ключ. Я отправляю успешный ajax-запрос и обратный вызов объекту ответа об успешном выполнении. Как я могу решить эту проблему
Объект ответа: {data: "[{" Code ":" 1001 "}, {" Code ": "1100"}] "}
Шаблон Django
{% block body %} { % load bootstrap4 %} {# import bootstrap4/bootstrap3 #} {% load i18n %} <script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/js/standalone/selectize.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/js/standalone/selectize.min.js"> </script> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.min.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.default.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.legacy.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.legacy.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.bootstrap3.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.bootstrap3.min.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.default.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.default.min.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.default.min.css.map" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.legacy.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.legacy.min.css" rel="stylesheet" type="text/css"> <link href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/css/selectize.legacy.min.css.map" rel="stylesheet" type="text/css"> <script> $(document).ready( function () { $('#select_code').selectize({ valueField: 'code', labelField: 'code', searchField: 'code', options: [], create: true, load: function(query, callback) { if (!query.length) return callback(); $.ajax({ url: 'test/json', type: 'GET', dataType: 'json', data: { q: query }, error: function() { callback(); }, success: function(res) { console.log(res.data) callback(res.data) } }); } }); }) </script> <div class="form-group"> <div class="col-md-12"> <select class="form-control" id="select_code" ></select> </div>
test_json.py
def test_kolon(request): q=request.GET.get('q') db = Test.objects.filter( Q(code__icontains= q) ).values('code') list_data_json = json.dumps(list(db)) context={ "data":list_data_json } return JsonResponse(context)
Я решил вопрос.
list_data_json = json.dumps(list(db))
Измените следующий код
list_data_json = jlist(db) context=list_data_json return JsonResponse(context,safe=False)