Skip to content

TeamPlacePython/Wagtail_bakery_demo

Repository files navigation

Projet de démonstration Wagtail

Il s'agit d'un projet de démonstration pour le superbe CMS Django nommé Wagtail.

Le site de démonstration est conçu pour fournir des exemples de fonctionnalités courantes et de recettes afin de vous initier au développement de Wagtail. Au-delà du code, il vous permettra également d'explorer l'interface admin/éditoriale du CMS. ==Il a par ailleurs été simplifié a partir du dépôt de code original pour servir à un webinaire sur le déploiement d'une application Django. Vous trouverez le dépôt de code original ici.==

Notez que nous ne recommandons pas d'utiliser ce projet pour démarrer votre propre site - la démo est conçue pour être un tremplin pour vous aider à démarrer. N'hésitez pas à copier le code de la démo dans votre propre projet.

Fonctionnalités de Wagtail illustrées dans cette démo

Cette démo est principalement destinée aux développeurs souhaitant en savoir plus sur le fonctionnement interne de Wagtail, et suppose que vous lirez son code source. Après avoir parcouru les fonctionnalités, prêtez une attention particulière au code que nous avons utilisé pour :

  • Diviser un projet en plusieurs applications
  • Modèles de contenu personnalisés et "contextes" dans les applications "breads" et "locations"
  • Un blog typique dans l'application "blog"
  • Exemple d'utilisation d'une application "base" pour contenir diverses fonctionnalités supplémentaires (par exemple, Formulaire de Contact, À propos, etc.)
  • Modèle "StandardPage" utilisant des mixins empruntés à d'autres applications
  • Exemple de personnalisation de l'Admin Wagtail via wagtail_hooks
  • Exemple d'utilisation du système de "snippets" de Wagtail pour représenter les catégories de pain, les pays et les ingrédients
  • Exemple d'une fonctionnalité "Galleries" personnalisée qui récupère des images utilisées dans d'autres types de contenu du système
  • Exemple de création de relations ManyToMany via la fonctionnalité Ingredients sur BreadPage
  • Bien plus encore

Installation

Configuration avec uv

Vous pouvez exécuter cette démonstration Wagtail en utilisant uv. Si uv n'est pas installé, vous pouvez l'installer en utilisant l'installeur standalone sur le site officiel.

Dépendances

  • Python 3.12
  • uv

Installation

cd ~/dev [ou votre répertoire dev préféré]
git clone https://github.com/TeamPlacePython/Wagtail_bakery_demo.git bakerydemo
cd bakerydemo
uv sync --extra dev

Ensuite, nous configurerons nos variables d'environnement locales. Nous utilisons dans cette démo django-environ pour nous aider dans cette tâche. Cette bibliothèque lit les variables d'environnement situées dans un fichier nommé .env au niveau supérieur du répertoire du projet. Renommez le fichier .env.dev.example en .env pour avoir un modèle avec les variables attendues. Pour la production, définir les variables dans .env.prod.exemple.

Pour configurer votre base de données et charger les données initiales, exécutez les commandes suivantes :

uv run python manage.py migrate
uv run python manage.py collectstatic
uv run python manage.py load_initial_data
uv run python manage.py runserver

Connectez-vous à l'admin avec les identifiants admin / changeme.

Autres remarques

Remarque sur la recherche dans la démo

Comme nous ne pouvons pas (facilement) utiliser ElasticSearch pour cette démo, nous utilisons la recherche native de la base de données de Wagtail. Cependant, la recherche native de la base de données ne peut pas rechercher des champs spécifiques dans nos modèles sur une requête généralisée Page. Donc, pour les besoins de la démonstration UNIQUEMENT, nous codons en dur les noms des modèles que nous voulons rechercher dans search.views, ce qui n'est pas idéal. En production, utilisez ElasticSearch et une requête de recherche simplifiée, selon https://docs.wagtail.org/en/stable/topics/search/searching.html.

Envoi d'e-mails depuis le formulaire de contact

Le paramètre suivant dans base.py garantit que les e-mails réels ne sont pas envoyés par le formulaire de contact de la démo lorsque vous êtes en mode développement. EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' garantit que les e-mails seront imprimés dans le terminal.

En production, vous devrez configurer les paramètres SMTP appropriés pour votre fournisseur de messagerie.

Utilisateurs inclus dans les données de la démo

Les données de la démo incluent des utilisateurs avec différents rôles et préférences. Vous pouvez utiliser ces utilisateurs pour tester rapidement le système de permissions dans Wagtail ou comment la localisation est gérée dans l'interface admin.

Nom d'utilisateur Mot de passe Superutilisateur Groupes Langue préférée Fuseau horaire Actif
admin changeme Oui Aucun non défini non défini Oui
editor changeme Non Éditeurs non défini non défini Oui
moderator changeme Non Modérateurs non défini non défini Oui
inactive changeme oui Aucun non défini non défini Non
german changeme oui Aucun Allemand Europe/Berlin Oui
arabic changeme oui Aucun Arabe Asie/Beirut Oui

Propriété du contenu de la démo

Tout le contenu de la démo est dans le domaine public. Le contenu textuel de ce projet provient soit de Wikimedia (Wikipedia pour les articles de blog, Wikibooks pour les recettes) soit est du lorem ipsum. Toutes les images proviennent soit de Wikimedia Commons soit d'autres sources libres de droits.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •