Insertion image dans un template
Bonjour,
Ma question est peu être dé.... mais j'avoue que je n'arrive pas à insérer une image simplement dans un template html du style :
<img alt="logo" src="img/logo.png"/>
Doit-on obligatoirement créé un model dans un fichier models.py pour ensuite l'uploader dans la BDD et la récupérer avec les gabarits de django ?
Ou c'est moi qui sait plus écrire du HTML...
Une deuxième question, peut-on créé un fichier admin.py et models.py dans la racine de notre projet Django ? ou doit-on aussi passer la création d'un application django ? Je pose cette question pour les bonnes pratiques à avoir pour la création de projet Django.
Merci d'avance, bonne journée.
Salut Yann !
Alors, pour la première question : ça dépend de quel "type" d'image tu souhaites insérer une image dans un template HTML avec Django.
Par "type d'image" je parle d'images statiques VS images téléversées ("uploadées") par un utilisateur (media files).
Si ton image est statique et fait partie de ton site (comme un logo par exemple), tu peux la mettre dans le dossier static.
Par exemple, si tu as cette structure de dossier :
- ton_projet/
-- static/
--- images/
---- mon_image.jpg
Tu peux utiliser cette image dans ton templates HTML avec :
<img alt="Mon image" src="{% static 'images/mon_image.jpg' %}"/>
Tu peux aller lire plus en détail à ce sujet dans la doc.
Pour la deuxième question : les models.py et les admin.py sont généralement créés dans chaque application que tu crée dans ton projet Django. C'est la façon recommandée de structurer ton projet, car Django est conçu pour fonctionner avec de multiples petites applications qui s'occupent chacune de leurs propres modèles.
Après effectivement il arrive qu'on ait des choses plus "globales" qu'on souhaite gérer, pour ma part je passe dans ces cas-ci par une application que j'appelle "generic" (ou quelque chose du genre, évite global car c'est un mot clé réservé par Python).
Pour te donner une idée, sur Docstring dans cette application j'ai les modèles qui permettent de gérer les bugs remontés par les utilisateur (un modèle BugReport) ou encore les notifications affichées sur le site.
C'est une question d'habitude à prendre, comme pour trouver un nom aux éléments, c'est toujours le plus difficile 😄 Dans mon cas tu vois j'aurais pu mettre mes modèles BugReport et Notification dans mon app accounts qui gère les utilisateurs, c'est logique également et ça évite d'avoir une application qui est un peu abstraite ("generic").
Merci pour ton retour c'est plus clair !
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte