@YraganTron

Как обработать ajax запрос в django cbv?

Переписываю проект на классы. Нужно обработать ajax запрос, вообще не понимаю как это сделать, нужно ли писать миксин или же создавать отдельный класс. Вот код, который был написан на функциях.
if request.is_ajax():
        if request.GET.get('value'):
            x = int(request.GET.get('value'))
            thread_ajax = Thread.objects.filter(board=Board.objects.get(board_shortcut=
                                                                        name_board)).order_by('-thread_score')
            if x + 5 > len(thread_ajax):
                thread_ajax = thread_ajax[x:len(thread_ajax)]
            else:
                thread_ajax = thread_ajax[x:x + 5]
            comment_ajax = []
            for x in thread_ajax:
                if Comment.objects.filter(thread=x).count() > 3:
                    section = Comment.objects.filter(thread=x).count() - 3
                else:
                    section = 0
                if Comment.objects.filter(thread=x)[section:].count() != 0:
                    Not_QuerySet = list(Comment.objects.filter(thread=x)[section:])
                    comment_ajax.extend(Not_QuerySet)
            all = list(thread_ajax) + list(comment_ajax)
            data = serializers.serialize('json', all)

            return HttpResponse(data, content_type='application/json')

В гугле нашел ток ajax формы, но честно говоря, это ни на шаг не приблизило меня к цели.
  • Вопрос задан
  • 596 просмотров
Решения вопроса 1
sim3x
@sim3x
Соственно, непонятно в чем вопрос
Есть https://docs.djangoproject.com/en/1.10/ref/request...

Есть https://docs.djangoproject.com/en/1.10/topics/clas...

Если нужно "включить" ответ в уже существующий класс то первое
Если отдельнывью, то - второе

в try-except обернуть все же стоит
x = int(request.GET.get('value'))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы