J'essaie de démarrer avec Django, et j'ai déjà travaillé avec CakePHP, et mon environnement MVC en découle. Je suis conscient de l'architecture MTV légèrement différente de Django, et je suis d'accord avec les fichiers modèles monolithiques - plusieurs classes dans un fichier que je peux gérer très bien.Passer de CakePHP à Django - un fichier de vues monolithique?
Mais je suis confus sur la façon de faire les vues (qui sont à peu près analogues aux contrôleurs dans MVC, correct?). Les exemples que j'ai vus ont juste un views.py
qui a des méthodes comme index()
, view()
, etc. Mais si j'ai un groupe d'utilisateurs qui créent et possèdent des widgets qu'ils peuvent partager, par exemple, je veux /users/view
courir view()
pour le modèle des utilisateurs et /widgets/view
qui exécute view()
pour le modèle de widgets.
Je ne vois aucun moyen de les séparer, et je ne sais pas quelle est la bonne façon de le faire. J'ai peut-être aussi du mal à comprendre comment Django fonctionne. Devrais-je avoir des méthodes au view.py
qui sont user_view
et widget_view
? Cela semble très maladroit.
Ou devrais-je user_view.py
ou même user/view.py
qui contient index()
et view()
? Puis-je faire référence à ceux du routage d'URL? Comment ça se passe généralement avec Django et ce genre de choses?
Ceci peut finalement être lié à (ou même résolu par) this answer, mais je demande plus comme une question de quelle convention et la bonne façon de penser à de telles choses est.
De plus, les documents/exemples ne devraient-ils pas être plus clairs à ce sujet? J'ai été impressionné par les docs jusqu'à présent, mais je suis sûr que la plupart des applications web traiteront de plus d'un "objet", et il me semble que cela arriverait assez souvent.
Merci! Je m'habitue toujours à la flexibilité qu'offre Django, je pense. J'ai remarqué les documents sur les applications séparées, mais je regarde dans une application, donc avoir la possibilité de les séparer est bon d'avoir. – cincodenada