


Construisez une application de partage de photos avec Django
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:
- Fonctionnalité crud: Créer, lire, mettre à jour et supprimer des photos.
- Gestion des utilisateurs: Comptes d'utilisateurs pour le téléchargement de photos, la visualisation, l'édition et la suppression de leurs propres photos .
- Style de bootstrap: Une interface conviviale construite avec bootstrap.
Stack de technologie:
- back-end: django, django-taggit (pour le marquage), oreiller (pour la manipulation d'image) et les formes de django-crrispy (pour le style de forme bootstrap).
- Front-end: Django Template Language and bootstrap 5.
Configuration du projet:
- Assurez-vous que Python 3.6 est installé. Utiliser
python3 --version
pour vérifier. - Créez un environnement virtuel:
python3 -m venv .venv
(ouvirtualenv .venv
sivenv
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). - Installez django:
pip3 install django
- Démarrer un projet Django:
django-admin startproject config
- Démarrez l'application de partage de photos:
python manage.py startapp photoapp
- Ajoutez l'application à
INSTALLED_APPS
dansconfig/settings.py
: inclure'photoapp'
et'taggit'
dans la listeINSTALLED_APPS
. SetTAGGIT_CASE_INSENSITIVE = True
. - Créer
photoapp/urls.py
et l'inclure dansconfig/urls.py
: Utiliserdjango.urls.include
. - Exécutez le serveur:
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:
- Créer des migrations:
python manage.py makemigrations
- Appliquer des migrations:
python manage.py migrate
- Configurer les fichiers multimédias dans
config/settings.py
: setMEDIA_URL
etMEDIA_ROOT
. - Configurer les modèles d'URL dans
config/urls.py
pour servir les supports: Utiliserstatic(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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Ce programme pilote, une collaboration entre le CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal et ACTUTIE, rationalise ARM64 CI / CD pour les projets GitHub CNCF. L'initiative répond aux problèmes de sécurité et aux performances LIM

Ce tutoriel vous guide dans la création d'un pipeline de traitement d'image sans serveur à l'aide de services AWS. Nous allons créer un frontend Next.js déployé sur un cluster ECS Fargate, en interagissant avec une passerelle API, des fonctions lambda, des seaux S3 et DynamoDB. Ème

Restez informé des dernières tendances technologiques avec ces meilleurs bulletins de développeur! Cette liste organisée offre quelque chose pour tout le monde, des amateurs d'IA aux développeurs assaisonnés du backend et du frontend. Choisissez vos favoris et gagnez du temps à la recherche de rel
