Нужно реализовать ajax-запросы голосования "за" и "против" к комментариям, по аналогии как на Баше: т.е. при нажатии на кнопку не происходит перезагрузка страницы, а только меняется рейтинг. И как это событие обработать в джанговском представлении? Спасибо.
Ответ
В общем сделал так: навесил на кнопки функцию:
function voite(id, action){
$.post("/quote/", {comment_id: id, comment_action: action});
}
А на адрес '/quote/' навесил обработчик во вьюхе, обрабатывающий пост-запрос.
Если нужно(интересно) - могу привести более детальный код.
Дополнение.
Скажу заранее, что обработчик лежит в отдельном приложении и обрабатывает страницу '/quote/', т.е. в urls.py есть такая строчка:
(r'^quote/$', 'ajax.views.quote'), где 'ajax.views.quote' - путь к обработчику. Вот сам текст обработчика:
def quote(request):
message = "This is a technic page"
if request.method == 'POST':
if 'comment_id' in request.POST and 'comment_action' in request.POST:
#обрабатываем запрос, повышаем/понижаем рейтинг и т.д.
return HttpResponse(message)
В обработчике проверяем метод, далее извлекаем из запроса (request) параметры и делай все что нам нужно.
Комментариев нет:
Отправить комментарий