recherche
MaisonPériphériques technologiquesIndustrie informatiqueConstruisez 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.

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
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
Pilote CNCF ARM64: impact et perspectivesPilote CNCF ARM64: impact et perspectivesApr 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

Construire un scanner de vulnérabilité de réseau avec GoConstruire un scanner de vulnérabilité de réseau avec GoApr 01, 2025 am 08:27 AM

Ce scanner de vulnérabilité de réseau basé sur GO identifie efficacement les faiblesses de sécurité potentielles. Il exploite les fonctionnalités de concurrence de GO pour la vitesse et comprend la détection de services et la correspondance de vulnérabilité. Explorons ses capacités et ses éthiques

Top 10 des meilleurs outils de vérificateur de backlink gratuit en 2025Top 10 des meilleurs outils de vérificateur de backlink gratuit en 2025Mar 21, 2025 am 08:28 AM

La construction du site Web n'est que la première étape: l'importance du référencement et des backlinks La construction d'un site Web n'est que la première étape pour la convertir en un actif marketing précieux. Vous devez faire l'optimisation du référencement pour améliorer la visibilité de votre site Web dans les moteurs de recherche et attirer des clients potentiels. Les backlinks sont la clé pour améliorer le classement de votre site Web, et il montre à Google et à d'autres moteurs de recherche l'autorité et la crédibilité de votre site Web. Tous les backlinks ne sont pas bénéfiques: identifier et éviter les liens nocifs Tous les backlinks ne sont pas bénéfiques. Les liens nocifs peuvent nuire à votre classement. Excellent outil de vérification de la liaison backlink gratuite surveille la source des liens vers votre site Web et vous rappelle les liens nuisibles. De plus, vous pouvez également analyser les stratégies de liaison de vos concurrents et en apprendre. Outil de vérification gratuite de backlink: votre agent de renseignement SEO

See all articles

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft