Как динамически заполнить один выпадающий список из другого в 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'] фильтровать объекты.

Другие вопросы по тегам