csrf con ajax y django post

Usando jquery1.7.1 y django1.3, intentaba hacer una solicitud de publicación a través de ajax, en un código de tutorial que encontré enweb

<code>$(document).ready(function(){
    $("#create").click(create_note);

});

var create_note = function() {
  var title = $("#title").val()
  var slug = $("#slug").val()
  if (title != "" && slug != "") {
    var data = { title:title, slug:slug };
    console.log('title='+title);
    console.log('slug='+slug);
    var args = { type:"POST", url:"/create/", data:data, complete:done };
    $.ajax(args);
  }
  else {
    // display failure
  }
  return false;
};
</code>

La url "/ create /" se asigna a la vista de django

<code>(r'^create/$','notes.views.create_note'),

def create_note(request):
    error_msg = u"No POST data sent."
    if request.method == "POST":
        post = request.POST.copy()
        if post.has_key('slug') and post.has_key('title'):
            slug = post['slug']
            if Note.objects.filter(slug=slug).count() > 0:
                error_msg = u"Slug already in use."
            else:
                title = post['title']
                new_note = Note.objects.create(title=title,slug=slug)
                return HttpResponseRedirect(new_note.get_absolute_url())
        else:
            error_msg = u"Insufficient POST data (need 'slug' and 'title'!)"
    return HttpResponseServerError(error_msg)
</code>

Cuando hago clic en el botón enviar, lo que activa la función javascriptcreate_note , Recibo un error 403 Debe ser el problema csrf ..

Intenté resolver esto modificando la función ready

<code>$(document).ready(function(){
        $.ajaxSetup({
        data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
    });
        $("#create").click(create_note);

    });
</code>

pero no funcionó ... todavía me sale403 error

Entonces, traté de modificar los datos enajax llamada

<code>var create_note = function() {
    var data = { title:title, slug:slug ,csrfmiddlewaretoken: '{{ csrf_token }}'};
    ...
    var args = { type:"POST", url:"/create/", data:data, complete:done };
    $.ajax(args);

};
</code>

Todavía causa error 403 ...

Por favor, dígame qué se debe hacer para corregir esto ... vi eldoc django sobre esto, pero estoy confundido sobre cómo hacer uso de eso. Debería copiar todo eljQuery(document).ajaxSend(... código en mi archivo javascript ... Estoy realmente confundido aquí ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta