python - django开发中纠结于视图函数与类通用视图
阿神
阿神 2017-04-18 09:50:05
0
4
422

现阶段django开发是用视图函数多呢?还是类通用视图?

看到有人在segmentfault中陈述:视图函数拓展性就没有这么灵活。类通用视图可以继承,可用使用装饰器等好处。

不过我做了一个单表的CURD(增删改查)之后,发现一个问题是。现实开发中有很多复杂的功能是多表操作的,类通用视图处理这些复杂的逻辑时就显得有些疲软了.....

各们Django使用者,有什么好建议,或者是我还没对类通用视图研究不透彻?请大家指点一下....

阿神
阿神

闭关修行中......

répondre à tous(4)
Ty80

Si vous pouvez développer en utilisant cbv (vue basée sur les classes), essayez de ne pas utiliser fbv (vue basée sur les fonctions). L’organisation de développement de Django recommande également à tout le monde d’utiliser cbv pour le développement. L'utilisation de cbv présente de nombreux avantages. Le plus évident est d'améliorer l'efficacité du développement. Fondamentalement, un simple ajout, suppression, modification et vérification ne nécessite pas l'écriture de quelques lignes de code. pour et en hériter. Il y en a d'autres. Il vous suffit d'écrire vous-même une extension mixin. Personnellement, j'estime que l'efficacité du développement a été multipliée par plus de 2. Donc pour parler des inconvénients (bien sûr je pense que cela devrait être un avantage, vous obligeant à lire le code source de Django), c'est qu'il faut comprendre les fonctions de toutes les vues fournies avec Django et ce que chaque méthode de la vue fait. Ce n'est qu'en comprenant la fonction de la vue que nous pouvons effectuer un héritage approprié et écrire un mixin approprié dans certaines opérations complexes. Lorsque vous maîtriserez le développement avec cbv, je pense que vous serez également plus familier avec le code source de la vue Django.

Recommander un site internet pour aider à l'apprentissage et au développement de projets cbv : ccbv. Il est très clair d'apprendre cbv combiné avec le code source de Django.

Enfin, permettez-moi d'ajouter une bibliothèque que j'ai étendue à cbv pour l'utiliser pour les services API. Vous pouvez vous référer à la façon d'écrire des mixins pour exécuter certaines fonctions complexes. Bien sûr, vous pouvez également utiliser dss pour développer rapidement des interfaces de données (pas de publicité, soyez sérieux) :

sérialiseur simple Django

Ty80

Je ne comprends pas ce que vous voulez demander. Qu'il s'agisse d'une seule table ou de plusieurs tables, elles sont toutes au niveau Modèle, tandis que les fonctions de vue et les classes de vue sont au niveau Vue. Non

巴扎黑

Les vues de classe peuvent partager certaines données, mais l'utilisation de fonctions d'affichage ordinaires nécessite d'écrire plus de code. En fait, quel que soit le type de vue, des opérations d'association multi-tables peuvent être effectuées, mais les vues de classe sont généralement utilisées pour les interfaces RESTful.

小葫芦

Essayez d'utiliser des vues génériques de classe pour les grands projets

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!