Même si ce n'est pas tout à fait dans l'esprit, j'adore cette question, parce que j'ai eu le même problème quand j'ai commencé donc je vais vous donner un guide rapide. De toute évidence vous ne comprenez pas les principes derrière (ne le prenez pas comme une insulte, mais si vous avez vous ne serait pas vous le demander).
Django est côté serveur. Cela signifie, par exemple un client passe à l'url que vous avez une fonction à l'intérieur de points de vue qui rend ce qu'il voit et renvoie une réponse en html. nous allons frein à titre d'exemples:
views.py
def hello(request):
return HttpResponse('Hello World!')
def home(request):
return render_to_response('index.html', {'variable': 'world'})
index.html:
<h1>Hello {{ variable }}, welcome to my awesome site</h1>
urls.py
url(r'^hello/', 'myapp.views.hello'),
url(r'^home/', 'myapp.views.home'),
C'est un exemple de la plus simple des usages en Vais "127.0.0.1:8000/bonjour" s'entend d'une demande à la fonction bonjour, en allant sur "127.0.0.1:8000/home' sera de retour le index.html et de remplacer toutes les variables comme demandé (vous le savez probablement tous cela maintenant).
Maintenant, nous allons parler d'ajax. Les appels AJAX sont code côté client qui ne requêtes asynchrones. Cela peut paraître compliqué, mais cela signifie simplement qu'il fait une requête pour vous dans le fond et gère ensuite la réponse. Aussi quand tu fais un appel AJAX pour certaines url, vous obtenez les mêmes données que vous obtiendriez en tant qu'utilisateur d'aller à cet endroit.
par exemple, un appel ajax pour '127.0.0.1:8000/bonjour' sera de retour la même chose, ce serait comme si vous l'avez visité. Seulement, cette fois, vous l'avez à l'intérieur d'une fonction js et vous pouvez traiter avec elle, cependant, vous aimeriez. Regardons un simple cas d'utilisation:
$.ajax({
url: '127.0.0.1:8000/hello',
type: 'get', //this is the default though, you don't actually need to always mention it
success: function(data) {
alert(data);
},
failure: function(data) {
alert('Got an error dude');
}
});
Le processus général est ceci:
- l'appel à l'url "127.0.0.1:8000/bonjour" comme si vous aviez ouvert un nouvel onglet et il l'a fait vous-même
- Si elle réussit (code d'état 200), de faire la fonction pour le succès, qui alerte les données les plus brefs délais.
- Si échoue, faire une fonction différente
Maintenant ce qui allait se passer ici? Vous obtiendrez une alerte avec 'hello world'. Qu'advient-il si vous faites un appel ajax à la maison? Même chose, vous obtiendrez une alerte indiquant <h1>Hello world, welcome to my awesome site</h1>
.
En d'autres termes, il n'y a rien de nouveau à propos des appels AJAX. Ils sont juste un moyen pour vous de permettre à l'utilisateur d'obtenir des données et des informations sans quitter la page, et il en fait un lisse et très soigné le design de votre site web. Quelques lignes directrices que vous devez prendre note:
-
apprendre jQuery. Je ne peux pas insister assez sur ce point. Tu vas avoir de comprendre un peu pour savoir comment gérer les données que vous recevez. Vous aurez également besoin de comprendre quelques éléments de base de la syntaxe javascript (pas loin de python, vous allez en prendre l'habitude). Je recommande fortement Envato de tutoriels vidéo pour jQuery, ils sont grands et vous mettre dans le droit chemin.
-
Lors de l'utilisation de JSON?. Vous allez voir beaucoup d'exemples où les données envoyées par le django vues est en JSON. Je n'ai pas entrer dans les détails, car ce n'est pas important, comment le faire (il y a beaucoup d'explications abondent) et, beaucoup plus important lorsque. Et la réponse à ça, c'est des données JSON est données sérialisées. C'est, de données que vous pouvez manipuler. Comme je l'ai mentionné, un appel AJAX va chercher la réponse comme si l'utilisateur fait lui-même. Maintenant dire que vous ne voulez pas salir avec tout le html, et, au lieu de vouloir envoyer des données (une liste d'objets, peut-être). JSON est bien pour cela, parce qu'il l'envoie comme un objet JSON (données ressemble à un dictionnaire python), et puis vous pouvez parcourir ou faire autre chose qui supprime le besoin de passer au crible inutile html
-
Ajouter en dernier. Lorsque vous créez une application web et souhaitez mettre en oeuvre AJAX - faites-vous une faveur. Tout d'abord, construire la totalité de l'app complètement dépourvu de toute AJAX. Voir que tout fonctionne. Ensuite, et seulement ensuite, commencez à écrire les appels AJAX. C'est une bonne méthode qui vous aide à apprendre beaucoup de choses.
-
L'utilisation de google chrome developer tools. Depuis les appels AJAX sont effectuées en arrière-plan, il est parfois très difficile à déboguer. Vous devez utiliser les outils de développement chrome (ou d'autres outils similaires, tels que firebug) et
console.log
choses à déboguer. Je ne vais pas expliquer en détail, il suffit de google et de trouver à ce sujet. Il serait très utile pour vous
-
csrf de sensibilisation. Enfin, n'oubliez pas que les requêtes post dans django exiger la csrf_token. Avec des appels AJAX, beaucoup de fois que vous souhaitez envoyer des données sans rafraichissement de la page. Vous aurez probablement faire face à quelques difficultés avant de vous enfin n'oubliez pas que - attendez, vous avez oublié d'envoyer le csrf_token. C'est un débutant barrage en AJAX-django d'intégration, mais après vous apprenez à faire ce qu'elle joue bien, c'est simple comme bonjour.
C'est tout ce qui me vient à la tête. C'est un vaste sujet, mais oui, il n'y a probablement pas assez d'exemples. Juste travailler votre chemin, lentement, vous l'aurez par la suite.