Table des matières
Du Django version 1.3 Un changement assez important a été introduit, il s'agissait d'incorporer la possibilité de créer des vues via des classes au lieu de fonctions comme cela avait été fait, lors du traitement des objets de vue, la possibilité de créer des vues plus génériques est générée avec laquelle nous pouvons nous en tenir davantage Principe SEC de ne pas te répéter.Vues basées sur les classes
À l'heure actuelle, les vues ne doivent pas se limiter à être des fonctions, c'est grâce au fait que dans Django l'important est de pouvoir obtenir un élément qui peut être appelé, grâce à cette approche, nous pouvons avoir une certaine liberté dans comment nous générons les éléments qui peuvent être appelés . En créant des vues basées sur les classes, nous obtenons les avantages suivants :
1Sa plage de configurabilité est plus élevée.
2Il est beaucoup plus facile à personnaliser lors de la création de projets spécialisés.
3Nous pouvons réutiliser les objets à d'autres fins.
Il est vrai qu'il existe différentes manières de créer des classes, cependant, pour maintenir la cohérence avec le code Django nous devrions essayer de rendre nos classes similaires aux classes génériques du framework.
Quoi qu'il en soit, en faisant cela, une recommandation à garder à l'esprit est que nous ne sommes pas empêchés de créer les classes comme notre application en a besoin, même si nous devons différer des classes génériques déjà mentionnées.
Vue générique Django.views.generic.base.View
Comme chaque début est difficile sans guide, Django Il nous permet d'entrer plus facilement dans ce monde en nous offrant sa vue générique, pour l'utiliser nous n'avons qu'à en faire une sous-classe et ainsi nous aurons une base.
Évidemment, cela ne fera pas ce dont nous avons besoin depuis le début, cependant nous pouvons utiliser les fonctionnalités suivantes :
1Validation des arguments passés à la configuration de la vue.
2Empêche l'utilisation d'arguments nommés comme des méthodes HTTP.
3Collectez les arguments passés dans la configuration de l'URL.
4Vérifiez qu'une méthode HTTP appelée est prise en charge par la vue.
5Gère automatiquement les demandes d'options.
Comment créer une vue dans une classe
Nous avons déjà vu les différentes caractéristiques de ce que cela signifie générer des vues avec des classesNous avons même vu quelques avantages, maintenant nous allons voir comment nous pouvons traduire ce que nous savons en code afin d'obtenir le résultat.
Voyons dans l'image suivante une vue générée en créant une sous-classe de la Vue Django générique:
Faisons une analyse du code, si on regarde on crée notre classe et on précise qu'il doit s'agir d'un Voir la sous-classe on obtiendra donc toutes ses fonctionnalités, alors nous spécifions quel modèle doit être associé à la classe Et enfin nous supplantons les méthodes get et post, de cette façon, nous pouvons incorporer notre logique.
ImportantPour utiliser la vue, nous devons la déclarer dans notre modèle dans l'url et dites-lui qu'il doit être traité comme une vue en utilisant le méthode as_view(), nous pouvons éventuellement passer le nom du modèle dans lequel il doit renvoyer les résultats.
Pour terminer ce tutoriel, voyons un exemple de ce qui précède dans l'image suivante :
Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif