Ce tutoriel vous guide dans la création d'une application Web de partage de photos à pile complète à l'aide de Django et Bootstrap. L'application propose des opérations CRUD, l'authentification des utilisateurs et une interface propre et de style bootstrap. Tout le code source est disponible sur github.
Prérequis: Python de base, programmation orientée objet (POO) en python et familiarité avec le cadre Django sont recommandés, mais pas strictement requis. Le tutoriel fournit des instructions étape par étape. La documentation Django est votre ressource clé.
Caractéristiques de l'application:
Stack de technologie:
Configuration du projet:
python3 --version
pour vérifier. python3 -m venv .venv
(ou virtualenv .venv
si venv
n'est pas disponible). Activez-le à l'aide de la commande appropriée pour votre système d'exploitation (voir le tutoriel d'origine pour les instructions spécifiques à la plate-forme). pip3 install django
django-admin startproject config
python manage.py startapp photoapp
INSTALLED_APPS
dans config/settings.py
: inclure 'photoapp'
et 'taggit'
dans la liste INSTALLED_APPS
. Set TAGGIT_CASE_INSENSITIVE = True
. photoapp/urls.py
et l'inclure dans config/urls.py
: Utiliser django.urls.include
. python manage.py runserver
Modèle de base de données (photoapp/models.py
):
Le modèle Photo
définit les champs pour le titre, la description, l'horodatage de la création, l'image, le soumetteur (clé étrangère du modèle d'utilisateur Django) et les balises (en utilisant taggit.managers.TaggableManager
).
Migrations et configuration des fichiers multimédias:
python manage.py makemigrations
python manage.py migrate
config/settings.py
: set MEDIA_URL
et MEDIA_ROOT
. config/urls.py
pour servir les supports: Utiliser static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
. Configuration de l'administration Django:
Enregistrez le modèle Photo
dans photoapp/admin.py
et créez un superutilisateur pour gérer les photos via l'interface d'administration.
vues (photoapp/views.py
):
Le tutoriel utilise les vues génériques de Django (ListView, DetailView, CreateEView, UpdateView, DeleteView) et Mixins (LoginRequiredMixin, UserPasseStSestMixin) pour gérer la liste des photos, les détails, la création, la mise à jour et la suppression. Les mixins personnalisés garantissent que seul le candidat peut modifier ou supprimer leurs photos.
Modèles URL (photoapp/urls.py
):
Définir les modèles d'URL pour répertorier les photos, afficher les détails, créer, mettre à jour et supprimer des photos et tagging.
Système d'authentification:
Une application distincte users
est créée pour l'inscription et la connexion des utilisateurs, en tirant parti du système d'authentification intégré de Django. Des vues personnalisées sont créées pour l'inscription et la connexion, en utilisant les Django UserCreationForm
et LoginView
. Les LOGIN_URL
, LOGIN_REDIRECT_URL
et LOGOUT_REDIRECT_URL
sont configurés dans config/settings.py
.
Modèles frontaux:
Bootstrap 5 est utilisé pour le style. Les modèles sont créés pour la liste des photos (list.html
, taglist.html
), les détails (detail.html
), la création (create.html
), la mise à jour (update.html
) et la délétion (delete.html
). L'héritage du modèle de Django est utilisé pour la réutilisation du code. django-crispy-forms
simplifie le rendu de la forme.
Questions fréquemment posées (FAQ):
Le tutoriel se termine par une section FAQ complète sur la personnalisation, le partage, la prise en charge vidéo, l'installation, l'optimisation des performances, l'utilisation mobile, le partage social, la sécurité, l'intégration du commerce électronique et la contribution au projet.
Cette réponse réécrite maintient les informations de base tout en améliorant la clarté et le flux, ce qui facilite le suivi des étapes du tutoriel. N'oubliez pas de consulter le référentiel GitHub d'origine pour le code source complet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!