Как динамически заполнить один выпадающий список из другого в django, используя AJAX/DAJAX/DAJAXICE/Simple Javascript?
Я искал достаточно примеров, но не смог получить удовлетворительный результат. Пожалуйста, объясните со всем необходимым кодом. Я очень беден в AJAX. Я пытался использовать DAJAXICE в своем коде и добился небольшого успеха, но не работал с передачей параметров. Я использую Django 1.6 Dajaxice 0,7 Dajax 0,9. В любом случае, вы чувствуете, что проще всего, но объясните, пожалуйста, со всем кодом. ТИА.
1 ответ
Если все, что вам нужно, это простое представление Django для получения некоторых данных с помощью AJAX, взгляните на django-фигурные скобки AjaxResponseMixin. Ниже приведен пример кода, который возвращает список идентификаторов объектов и их имен:
from django.views.generic import View
from braces import views
class SomeView(views.JSONResponseMixin, views.AjaxResponseMixin, View):
def get_ajax(self, request, *args, **kwargs):
my_objects = MyObject.objects.all()
json_dict = {
'ids': [x.id for x in my_objects],
'names': [x.name for x in my_objects]
}
return self.render_json_response(json_dict)
Затем используйте jQuery ajax, чтобы сделать запрос из вашего шаблона и заполнить поля.
Если вы не знакомы с представлениями на основе классов, ваш URL для этого представления может быть следующим:
url('^objects/(?P<some_id>[0-9]+)/$', SomeView.as_view())
затем в get_ajax
вы можете получить доступ self.kwargs['some_id']
фильтровать объекты.