2017-09-18 6 views
0

Mes vues django deviennent plutôt grandes. Je me demande combien et quel type de logique est recommandé pour une vue django.quel type et quelle logique stocker dans les vues django

Lorsqu'une vue dépasse la portée recommandée, existe-t-il un fichier recommandé à utiliser pour extraire une logique comme un contrôleur de données ou un contrôleur de vue?

Répondre

0

Django a sa propre interprétation de MVC:

https://docs.djangoproject.com/en/1.11/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names

Dans ce contexte, je recommendons que vous mettez très peu de logique dans votre point de vue. Les vues sont la plomberie de votre code. Ce sont des déclarations comme: "Prenez ces données de ce modèle et mettez-les dans ce modèle en utilisant ce contexte."

La logique où la magie se produit devrait aller dans les modèles sous la forme de méthodes et de propriétés calculées.

Si vous avez un exemple de code spécifique de vos opinions, je peux essayer de vous donner des conseils plus concrets.

+0

Beaucoup de logique s'applique à plusieurs modèles. Dans ce cas, où mettez-vous ces fonctions? – Atma

+0

@Atma Peut-être que ces modèles peuvent hériter d'un ancêtre commun. Assurez-vous de dire à Django qu'il s'agit d'un ancêtre abstrait, sinon cela nuira à vos performances: https://jacobian.org/writing/concrete-inheritance/ –

+1

@Atma vous pouvez également garder le code dans d'autres fichiers de module comme avec n'importe quel python projet. Mis à part le models.py, et views.py, je garde souvent un tasks.py et d'autres modules. C'est juste Python, après tout. –