Maison Périphériques technologiques Industrie informatique Construisez une application de partage de photos avec Django

Construisez une application de partage de photos avec Django

Feb 10, 2025 am 09:48 AM

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.

Build a Photo-sharing App with Django

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:

  1. Assurez-vous que Python 3.6 est installé. Utiliser python3 --version pour vérifier.
  2. Créez un environnement virtuel: 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).
  3. Installez django: pip3 install django
  4. Démarrer un projet Django: django-admin startproject config
  5. Démarrez l'application de partage de photos: python manage.py startapp photoapp
  6. Ajoutez l'application à INSTALLED_APPS dans config/settings.py: inclure 'photoapp' et 'taggit' dans la liste INSTALLED_APPS. Set TAGGIT_CASE_INSENSITIVE = True.
  7. Créer photoapp/urls.py et l'inclure dans config/urls.py: Utiliser django.urls.include.
  8. 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:

  1. Créer des migrations: python manage.py makemigrations
  2. Appliquer des migrations: python manage.py migrate
  3. Configurer les fichiers multimédias dans config/settings.py: set MEDIA_URL et MEDIA_ROOT.
  4. Configurer les modèles d'URL dans 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Pilote CNCF ARM64: impact et perspectives Pilote CNCF ARM64: impact et perspectives Apr 15, 2025 am 08:27 AM

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

Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Apr 18, 2025 am 08:28 AM

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

Top 21 newsletters du développeur auquel s'abonner en 2025 Top 21 newsletters du développeur auquel s'abonner en 2025 Apr 24, 2025 am 08:28 AM

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

See all articles