Как использовать теги и фильтры шаблонов Django с jQuery? - PullRequest
3 голосов
/ 06 мая 2011

Проблема в общем заключается в следующем: у меня есть страница с контентом, и пользователь может ее комментировать.Вставка комментария должна происходить без перезагрузки страницы.

Форма комментирования обрабатывается в представлении, которое сохраняет комментарий в базе данных.После сохранения комментария я сериализую новый комментарий в json и возвращаюсь на страницу.

data = serializers.serialize('json', [comment])
return HttpResponse(data, mimetype='application/javascript')

Это работает довольно хорошо, комментарий добавляется в начало div, но как мне применить теги форматирования к jQuery?Предполагается, что комментарий будет отображаться как

<div class="comment">{{comment}}<br>{{ comment.created | timesince }}</div>

Возможно ли применить теги шаблона к jQuery-коду?Конечно, есть проблема, что другие комментарии не обновляются, поэтому timeince отображается неправильно. Чтобы исправить это, мне нужно обновить весь список комментариев и снова зациклить все комментарии на странице, но та же проблема все еще остается, конечно,..

Можно ли обновить весь список комментариев, вернув все комментарии в виде словаря, и заставить jQuery загрузить шаблон для отображения всех комментариев ..

Или любую другую идею, как решитьэто проблема?

Ответы [ 2 ]

3 голосов
/ 07 мая 2011

Вместо возврата JSON верните HTML, отобразив шаблон, содержащий часть страницы, которую вы хотите обновить. Код jQuery на стороне клиента может затем вставить новый HTML или заменить существующий HTML при необходимости.

1 голос
/ 06 мая 2011

Самое простое, что можно сделать, это вернуть шаблонный html из другого представления и использовать replaceWith .

в jquery.
...