En django 1.3, ahora tiene que usar csrf incluso con ajax. Uso jquery y ahora quiero agregar el token csrf al $ .post. ¿Cómo puedo hacer esto? No soy muy hábil en jquery, así que sería bueno con una buena descripción.
Es una aplicación de calificación y la publicación se envía cuando se hace clic en una estrella. He visto el django docs pero no entiendo qué hacer en mi situación. Mi código está debajo:
$(function() {
$("#avg").children().not(":input").hide();
$("#rating-widget").children().not("select").hide();
$caption = $("<span/>");
$("#avg").stars({captionEl: $caption});
$("#rating-widget").stars({
inputType: "select",
cancelShow: false,
captionEl: $caption,
callback: function(ui, type, value){
--------------> $.post($("#rating-widget").attr("action"), {score: value}, function(data){
});
}
});
$caption.appendTo("#rating-widget");
});
Se debe decir que el javascript no está en una plantilla, sino en un archivo estático. ¿Sería mejor ponerlo en una plantilla para poder usar {{ csrf_token }}
Gracias de antemano!
Acabo de encontrar una [versión editada] (http://stackoverflow.com/questions/5100539/django -csrf-check-failing-with-an-ajax-post-request) usaron ajaxSetup en su lugar. Funciona para mí :) ¡No sabía que era tan fácil! ¡Gracias! – tmpethick