Comment puis-je utiliser le C'est ce que j'essaie de faire: p> Comment est-ce que CSRF protège cela à Django? Existe-t-il un moyen d'ajouter au jeton CSRF aux données de poste? P> p> jquery.post () code> méthode dans django?
4 Réponses :
Le module quant à votre question Comment envoyer un contribuer code> dans django a un CSRF Module que vous pouvez utiliser. P>
Post code>, tant que vous aurez l'URL mappée correctement les demandes seront envoyées à elle. Vous pouvez gérer une demande code> code> spécifiquement en cochant
demande.post code> sur l'objet de la demande. P>
Je parle spécifiquement de la méthode $ .post .post. La raison pour laquelle j'ai posé cette question est que je ne voulais pas avoir à traiter d'un script aussi lourd.
Oui. Je crois que c'est stocké dans {{csrf_token}} code>. Donc, juste faire
var postdata={
'username':$('#login-email').val(),
'password':$('#login-password').val(),
'csrfmiddlewaretoken': '{{ csrf_token }}'
}
Son {% csrf_token%} code> sinon ceci est de loin la meilleure solution.
Whoops je voulais dire {{csrf_token}} code> L'autre variante est la variante de champ de formulaire masqué! Désolé d'avoir confiné le sujet :)
'CSRFMIDDLEWareToken': '{{csrf_token}}' a travaillé pour moi, sur Django-1.3
aussi, sur 1.3 il semble qu'il soit obligé d'être csrfmiddlewaretank
Bien que vous ne fournissez pas votre code HTML dans votre exemple, il est prudent de supposer que vous utilisez un
. Sérialize () code> sur votre formulaire. P>
Je renvoie habituellement un fichier avec ce contenu à chaque page que je souhaite pouvoir faire des demandes AJAX:
if (!$) var $ = django.jQuery; $('html').ajaxSend(function(event, xhr, settings) { function getCookie(name) { var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = $.trim(cookies[i]); // Does this cookie string begin with the name we want? if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) { // Only send the token to relative URLs i.e. locally. xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken')); } });
Je pense que vous voulez vraiment demander "Comment puis-je soumettre des demandes AJAX à Python", n'est-ce pas? Il n'y a pas de méthode "jquery.post ()" dans n'importe quelle autre langue ou cadre autre que JQuery. Vous demandez l'opération équivalente, correct?
@Mike je crois qu'il demande comment utiliser jQuery pour poster des données à i> django, je modifierai le titre (encore) pour le rendre plus clair