IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Comment organiser ses projets en application, comment sinceder les view (controler)


Sujet :

Django Python

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Par défaut Comment organiser ses projets en application, comment sinceder les view (controler)
    Bonjour,
    J'ai deux questions relatives à l'organisation.
    Après avoir lu un bouquin fait un gros tuto et lu un peu de doc je n'ai pas trouvé mes réponses.

    Tout d'abord comment définir ce qui va ou pas dans une app.
    Est ce que la partie front du site doit être encapsulé dans une app ?
    Si dans mon site j'ai imaginons un tchat qui lui même est dans une app, va il pouvoir être chargé à l'intérieur d'une page blog qui elle même sera encapsulée dans une autre appli ?
    J'aimerais comprendre la règle générale qui permet de savoir comment découper ses applis et leur interactions.

    J'ai remarqué qu'on nous faisait mettre tout le code controler dans les view.py
    J'aimerais scinder mon view.py, voir en faire un par page pour certaines grosses pages, comment m'y prendre ?
    A cette suite est ce qu'un view.py général pourrait charger des view-ma_page_en_cours.py ?

    Merci bien !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Citation Envoyé par Ahima49 Voir le message
    J'aimerais comprendre la règle générale qui permet de savoir comment découper ses applis et leur interactions.
    Imaginez que vous deviez construire une nouvelle application A.
    Ce n'est pas la première application que vous créez et vous avez déjà fabriqué B, C, D,.... Et que pour gagner du temps vous souhaitiez récupérer des bouts de C.
    Vous avez 2 options: recopier les bouts de C intéressant dans A (ils deviennent ainsi partie intégrante de A et évolueront dans leur coin indépendamment de C) ou utiliser C comme une bibliothèque dans laquelle vous allez piocher pour construire A.

    Qui dit bibliothèque, dit aussi "interface" qui va définir l'emballage, les points d'entrées et les conditions d'utilisation. Si vous voulez faire çà avec des applications Django, le mode d'emploi est dans ce tutoriel..
    Si vous voulez faire çà avec des applications Python "pures", le mode d'emploi est dans le tutoriel Python


    Pour ce qui est de comment découper son application et les interactions... Il n'y a pas de règles ou plutôt ce qui va définir le découpage est arbitraire.

    Prenez une application de 500 lignes de code. Qu'est ce qui va vous guider pour regrouper ces lignes là en fonction, ces fonctions en classes, ces classes en module,... essentiellement des critères non techniques qui font qu'un autre programmeur pourra faire des choix différents tout aussi pertinents.

    Citation Envoyé par Ahima49 Voir le message
    J'ai remarqué qu'on nous faisait mettre tout le code controler dans les view.py
    J'aimerais scinder mon view.py, voir en faire un par page pour certaines grosses pages, comment m'y prendre ?
    Rien ne vous empêche de créer un dossier "views" contenant vos différents view1.py, view2.py, .... et un fichier __init__.py qui les "importe".
    Ce qui est une façon "python" d'exploser un truc en morceaux et documenté dans le tutoriel Python déjà mentionné.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Par défaut
    Merci beaucoup wiztricks pour votre réponse qui m'aide beaucoup.
    Me manque plus qu'une réponse, est ce que la partie front du site doit être dans une app et si oui alors dois-je ajouter à coté de settings.py, admin.pu, models.py etc un fichier view.py ?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Citation Envoyé par Ahima49 Voir le message
    est ce que la partie front du site doit être dans une app et si oui alors dois-je ajouter à coté de settings.py, admin.pu, models.py etc un fichier view.py ?
    Si vous créez une applications "django", ces fichiers là sont crées par le système Django et documentés dans les premières pages du tutoriel de base.
    Donc à priori, vous n'avez rien à faire: ils sont déjà là et bien placés.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Par défaut
    Quand je crée une appli django à l’origine je n'ai que __init__ settings url wsgi, models et view n'apparaissent dans les sous applis sauf erreur de ma part.
    C'est d'ailleurs ce qui est dit dans le tuto que vous m'avez transmis aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            wsgi.py

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Citation Envoyé par Ahima49 Voir le message
    C'est d'ailleurs ce qui est dit dans le tuto que vous m'avez transmis aussi
    Si vous lisez attentivement le tuto. çà parle de projet (qui correspond à ce que vous montrez) et d'applications (là où sont les views.py).
    Et dans le jargon Django, "projet" correspond plutôt à un serveur Web alors qu'application se rattache plutôt aux "services" qui permet de rendre.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Par défaut
    çà parle de projet (qui correspond à ce que vous montrez) et d'applications (là où sont les views.py).Et dans le jargon Django, "projet" correspond plutôt à un serveur Web alors qu'application se rattache plutôt aux "services" qui permet de rendre.
    Je crois pas, pour chaque site on fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    django-admin startproject lenomdusite
    Sinon chaque site se retrouverais à être une appli d'un gigantesque projet.
    Donc effectivement tout doit être dans une app, même le front, car à l'origine il n'y a pas de view avant qu'on face un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python manage.py startapp lenomdemonapp
    C'est juste quand dans tous les tuto que j'ai fait c'est expliqué par la pratique et non la theorie, on fait une appli sondage, une appli blog, mais si on à juste un front qui n'est pas une appli déterminé ce n'était pas expliqué.
    Sujet résolu, merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/01/2017, 14h21
  2. comment utiliser les user Control
    Par lorie dans le forum Windows Presentation Foundation
    Réponses: 14
    Dernier message: 25/11/2010, 12h40
  3. [W3C] Comment identifier les "successfull controls" à la soumission d'une form?
    Par Spout dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/02/2008, 23h28
  4. [IMPORTANT!] Comment organiser ses recherches
    Par Emmanuel Lecoester dans le forum Firebird
    Réponses: 0
    Dernier message: 29/07/2005, 13h47
  5. [Debutant(e)][eclipse] Comment organiser ses projets ?
    Par Javanaute dans le forum Eclipse Java
    Réponses: 9
    Dernier message: 09/04/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo