Maison développement back-end Tutoriel Python Système de blog multi-utilisateurs implémenté par Django

Système de blog multi-utilisateurs implémenté par Django

Jun 18, 2023 am 08:20 AM
django 多用户 博客系统

Django est un framework Web efficace basé sur le langage de programmation Python. Il fournit un framework de modèles MVC complet qui peut facilement implémenter des applications Web. Dans cet article, je vais vous présenter comment utiliser Django pour implémenter un système de blog multi-utilisateurs afin que plusieurs utilisateurs puissent s'inscrire, se connecter et publier leurs propres articles de blog.

La première étape consiste à installer Django
Avant de commencer le développement, vous devez installer Django. Vous pouvez utiliser la commande suivante pour installer la dernière version de Django :

pip install Django

La deuxième étape consiste à créer un projet et une application Django
Dans Django, un projet peut contenir plusieurs applications. Une application est généralement responsable d’une fonction spécifique. Maintenant, nous devons créer un projet Django et une application de blog. Il peut être créé à l'aide de la commande suivante :

django-admin startproject myblog
cd myblog
python manage.py startapp blog

Dans la commande ci-dessus, nous avons créé un projet Django nommé myblog et créé dans le projet une application appelée blog .

La troisième étape, configurer la base de données
Dans Django, la base de données par défaut est SQLite, mais d'autres bases de données (telles que MySQL, PostgreSQL, etc.) peuvent également être utilisées. Nous devons le configurer dans le fichier settings.py du projet Django. Ouvrez le fichier settings.py et ajoutez les informations de configuration de base de données appropriées dans DATABASES.

Étape 4, définir le modèle
Maintenant, nous devons définir le modèle de l'article de blog. Dans Django, un modèle définit une table de base de données et les champs associés à cette table. Dans le fichier models.py de l'application de blog, nous pouvons définir les modèles suivants :

from django.db import models
from django.contrib.auth.models import User

class Post(models.Model):

title = models.CharField(max_length=100)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(User, on_delete=models.CASCADE)
Copier après la connexion

dans Dans le modèle, nous définissons le modèle Post, qui contient les champs suivants :

title : Titre de l'article, tapez CharField.
content : contenu de l'article, tapez TextField.
pub_date : L'heure de publication de l'article, tapez DateTimeField, ce champ utilise le paramètre auto_now_add=True, ce qui signifie qu'il est automatiquement réglé sur l'heure actuelle lors de la création d'un nouvel article.
author : L'auteur de l'article, tapez ForeignKey, associé au modèle User intégré de Django.

Étape 5, configurer le routage
Nous devons maintenant configurer le routage des URL afin que notre application puisse gérer différentes demandes (telles que la liste des articles de blog, les détails de la publication, la création d'une publication, etc.). Dans le fichier urls.py de l'application, nous pouvons ajouter le code suivant :

from django.urls import path
from . :

Une route vide pointe vers la fonction de vue IndexView.as_view() et est nommée "index".

Un itinéraire pour afficher les détails de l'article. La route reçoit un paramètre entier nommé pk et pointe vers la fonction de vue PostDetailView.as_view() nommée "post_detail".

Un parcours pour créer de nouveaux articles. Cette route pointe vers la fonction de vue PostCreateView.as_view() et est nommée « post_create ».

Étape 6, définir la vue

Nous devons maintenant définir la fonction de vue qui gère le routage pour répondre aux différentes requêtes. Ces fonctions doivent renvoyer un objet HttpResponse contenant le contenu HTML, JSON ou XML de réponse souhaité. Dans le fichier views.py de l'application de blog, nous pouvons définir les fonctions d'affichage suivantes :


from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import ListView, DetailView, CreateView

from .models import Post


class IndexView(ListView):

path('', views.IndexView.as_view(), name='index'),
path('post/<int:pk>/', views.PostDetailView.as_view(), name='post_detail'),
path('post/add/', views.PostCreateView.as_view(), name='post_create'),
Copier après la connexion

class PostDetailView(DetailView):

model = Post
template_name = 'blog/index.html'
context_object_name = 'posts'
ordering = ['-pub_date']
Copier après la connexion

class PostCreateView(LoginRequiredMixin, CreateView):

model = Post
template_name = 'blog/post_detail.html'
context_object_name = 'post'
Copier après la connexion

Dans le code ci-dessus, nous définissons trois fonctions d'affichage :

IndexView : afficher la liste des articles de blog . Cette vue hérite de ListView et peut être implémentée en spécifiant des attributs tels que model, template_name, context_object_name et ordering.

PostDetailView : affiche les détails d'un seul article de blog. Hérité de DetailView, il suffit de spécifier le modèle et le nom du modèle.

PostCreateView : utilisé pour créer de nouveaux articles de blog. Hérité de CreateView, vous devez spécifier des attributs tels que model, template_name, field et success_url. Dans le même temps, nous utilisons la classe mixin LoginRequiredMixin pour garantir que seuls les utilisateurs connectés peuvent accéder à la vue. Dans la méthode form_valid(), nous définissons l'auteur de l'article sur l'utilisateur actuel.

Étape 7, écrire le modèle

Enfin, nous devons écrire le modèle correspondant à la fonction d'affichage. Dans le répertoire des modèles de l'application de blog, nous pouvons créer les fichiers modèles suivants :


base.html : le modèle de base qui s'applique à toutes les pages.
index.html : modèle qui affiche tous les articles de blog.

post_detail.html : un modèle qui affiche les détails d'un seul article de blog.

post_form.html : Modèle pour créer de nouveaux articles de blog.

Parmi eux, base.html contient des éléments de page communs à d'autres modèles. index.html affiche un résumé de tous les articles de blog et fournit une vue liée aux détails de l'article. post_detail.html affiche les détails d'un seul article de blog tout en fournissant des liens vers des vues permettant de modifier et de supprimer des articles. post_form.html Formulaire pour créer de nouveaux articles de blog.

Grâce aux étapes ci-dessus, nous pouvons utiliser Django pour implémenter un système de blog multi-utilisateurs. Le système permet à plusieurs utilisateurs de s'inscrire, de se connecter et de publier leurs propres articles de blog. Cela enrichit le contenu du site Web et facilite également la communication avec les autres utilisateurs et l'appréciation des articles.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

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)

Comment vérifier la version de Django Comment vérifier la version de Django Dec 01, 2023 pm 02:25 PM

Étapes pour vérifier la version de Django : 1. Ouvrez un terminal ou une fenêtre d'invite de commande ; 2. Assurez-vous que Django n'est pas installé, vous pouvez utiliser l'outil de gestion de packages pour l'installer et entrer la commande pip install django 3 ; . Une fois l'installation terminée, vous pouvez utiliser python -m django --version pour vérifier la version de Django.

Django vs Flask : une analyse comparative des frameworks Web Python Django vs Flask : une analyse comparative des frameworks Web Python Jan 19, 2024 am 08:36 AM

Django et Flask sont tous deux leaders dans les frameworks Web Python, et ils ont tous deux leurs propres avantages et scénarios applicables. Cet article procédera à une analyse comparative de ces deux frameworks et fournira des exemples de code spécifiques. Introduction au développement Django est un framework Web complet, son objectif principal est de développer rapidement des applications Web complexes. Django fournit de nombreuses fonctions intégrées, telles que ORM (Object Relational Mapping), formulaires, authentification, backend de gestion, etc. Ces fonctionnalités permettent à Django de gérer de grandes

Avantages et inconvénients du framework Django : tout ce que vous devez savoir Avantages et inconvénients du framework Django : tout ce que vous devez savoir Jan 19, 2024 am 09:09 AM

Django est un framework de développement complet qui couvre tous les aspects du cycle de vie du développement Web. Actuellement, ce framework est l’un des frameworks Web les plus populaires au monde. Si vous envisagez d'utiliser Django pour créer vos propres applications Web, vous devez alors comprendre les avantages et les inconvénients du framework Django. Voici tout ce que vous devez savoir, y compris des exemples de code spécifiques. Avantages de Django : 1. Développement rapide : Djang peut développer rapidement des applications Web. Il fournit une bibliothèque riche et interne

Comment vérifier la version de Django Comment vérifier la version de Django Nov 30, 2023 pm 03:08 PM

Comment vérifier la version de Django : 1. Pour vérifier via la ligne de commande, entrez la commande "python -m django --version" dans la fenêtre du terminal ou de la ligne de commande. 2. Pour vérifier dans l'environnement interactif Python, entrez "import django ; print(django. get_version())" code ; 3. Vérifiez le fichier de paramètres du projet Django et recherchez une liste nommée INSTALLED_APPS, qui contient des informations sur les applications installées.

Comment utiliser le mappage objet-relationnel (ORM) en PHP pour simplifier les opérations de base de données ? Comment utiliser le mappage objet-relationnel (ORM) en PHP pour simplifier les opérations de base de données ? May 07, 2024 am 08:39 AM

Les opérations de base de données en PHP sont simplifiées à l'aide d'ORM, qui mappe les objets dans des bases de données relationnelles. EloquentORM dans Laravel vous permet d'interagir avec la base de données en utilisant une syntaxe orientée objet. Vous pouvez utiliser ORM en définissant des classes de modèle, en utilisant des méthodes Eloquent ou en créant un système de blog dans la pratique.

Comment mettre à niveau la version de Django : étapes et considérations Comment mettre à niveau la version de Django : étapes et considérations Jan 19, 2024 am 10:16 AM

Comment mettre à niveau la version de Django : étapes et considérations, exemples de code spécifiques requis Introduction : Django est un puissant framework Web Python qui est continuellement mis à jour et mis à niveau pour offrir de meilleures performances et plus de fonctionnalités. Cependant, pour les développeurs utilisant des versions plus anciennes de Django, la mise à niveau de Django peut rencontrer certains défis. Cet article présentera les étapes et les précautions à suivre pour mettre à niveau la version de Django et fournira des exemples de code spécifiques. 1. Sauvegardez les fichiers du projet avant de mettre à niveau Djan

Quelle est la différence entre les versions de Django ? Quelle est la différence entre les versions de Django ? Nov 20, 2023 pm 04:33 PM

Les différences sont : 1. Série Django 1.x : Il s'agit d'une première version de Django, comprenant les versions 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 et 1.9. Ces versions fournissent principalement des fonctions de développement Web de base ; 2. Série Django 2.x : Il s'agit de la version intermédiaire de Django, comprenant les versions 2.0, 2.1, 2.2 et autres. 3. Série Django 3.x : Il s'agit de la dernière version ; série de Django, y compris les versions 3.0, 3, etc.

Django est-il front-end ou back-end ? Django est-il front-end ou back-end ? Nov 21, 2023 pm 02:36 PM

Django est le back-end. Détails : Bien que Django soit avant tout un framework backend, il est étroitement lié au développement front-end. Grâce à des fonctionnalités telles que le moteur de modèles de Django, la gestion de fichiers statiques et l'API RESTful, les développeurs front-end peuvent collaborer avec les développeurs back-end pour créer des applications Web puissantes et évolutives.

See all articles