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 :

Mise en place de templates/vues


Sujet :

Django Python

  1. #1
    Membre très actif Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 563
    Par défaut Mise en place de templates/vues
    Bonjour,

    visiblement j'ai de grosses lacunes pour comprendre la "glue" entre les templates et vues dans Django, ce qui fait que je galère rien que pour afficher un formulaire et structurer mon code.

    Je m'explique, j'ai fait :
    - un projet Django 1.8.2 nommé 'test_projet'
    - dans ce projet une application nommé 'my_app'

    Dans le dossier 'static' qui est dans le dossier principal de mon projet, j'ai extrait Bootstrap 3.3.4, il contient donc les dossiers : css, fonts, js de de Bootstrap. Aucun autre fichier n'a été ajouté à ce dossier.

    Dans le dossier 'templates', j'ai créé un dossier 'default' qui contintent un fichier base.html avec le template de base de Bootstrap :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
        <title>Bootstrap 101 Template</title>
     
        <!-- Bootstrap -->
        <link href="css/bootstrap.min.css" rel="stylesheet">
     
        <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
          <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
      </head>
      <body>
        {% block content %}{% endblock %}
     
        <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <!-- Include all compiled plugins (below), or include individual files as needed -->
        <script src="js/bootstrap.min.js"></script>
      </body>
    </html>
    Ma question est simpliste : comment faire pour que ce modèle serve de base à toute page que je créé dans mon application, qu'il serve de master-page en quelque sorte ?

    En gros si j'ajoute un block 'content' dans cette master-page, le code de ma vue de devra qu'ajouter le contenu qui change.

    Pour rappel la structure du projet ressemble à ça :
    my_projet/
    - my_app/
    - static/
    -- css/
    -- fonts/
    -- js/
    - templates/
    -- default/
    --- base.html // template bootstrap de base
    --- index.hml // fichier devant hériter du template bootstrp avec seulement les blocks qui changent

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour, au début de tes fichiers de template, tu ajoutes

    {% extends "base.html" %}

  3. #3
    Membre très actif Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 563
    Par défaut
    J'ai finalement réussi à réorganiser la structure de l'ensemble, merci à toi. L'extension Python for Visual Studio m'a aussi bien aidé avec leur projet de base.

    J'avais d'autres questions plus basées architecture, je vais faire court, il se fait tard :
    - comment bien structurer un projet pour isoler les transactions à une base de données et également l'utilisation de services web ?

    Mon approche serait de créer une classe dédiée uniquement à ce type d'opération : une couche data/services ou une pour chaque. Hors de question d'utiliser l'ORM, y a rien de pire pour générer du SQL crasseux et flinguer la structure d'une base de données.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/09/2012, 22h19
  2. [ZF 1.10] Mise en place d'une vue
    Par Oribiahn dans le forum Zend_Db
    Réponses: 2
    Dernier message: 29/06/2010, 14h31
  3. Débutant : mise en place de templates .
    Par Dworkin3 dans le forum SharePoint
    Réponses: 3
    Dernier message: 07/01/2008, 15h37
  4. mise en place serveur web intranet
    Par gui4593 dans le forum Installation
    Réponses: 7
    Dernier message: 01/01/2004, 18h18
  5. Mise en place d'index....??
    Par liv dans le forum Requêtes
    Réponses: 6
    Dernier message: 18/12/2003, 11h04

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