madamasterclass.com

📔 Activités

Quelques activités sur django


Dans cette activité, vous allez créer une application web simple utilisant le framework Django. Cette application permettra aux utilisateurs de s'inscrire, de publier des messages et d'interagir avec les publications des autres utilisateurs.

1. Prérequis
  •                 1️⃣ Python installé sur votre machine.
  •                 2️⃣ Django installé. Si ce n'est pas fait, exécutez la commande suivante :
  • pip install Django
2. Créer la structure du projet

Créez un nouveau projet Django en exécutant la commande suivante :

django-admin startproject mini_social_network

Ensuite, naviguez dans le dossier du projet :

cd mini_social_network

Créez une application pour le réseau social :

python manage.py startapp social
3. Définir les modèles

Dans social/models.py, définissez les modèles pour les utilisateurs et les publications :

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

class Post(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)

def __str__(self):
return f"{self.author.username}: {self.content}"
4. Migrer la base de données

Exécutez les commandes suivantes pour créer les tables dans la base de données :

python manage.py makemigrations
python manage.py migrate
5. Créer les vues

Dans social/views.py, ajoutez des vues pour afficher les publications et gérer les soumissions :

from django.shortcuts import render, redirect
from .models import Post
from django.contrib.auth.decorators import login_required

@login_required
def index(request):
posts = Post.objects.all()
return render(request, 'index.html', {'posts': posts})

@login_required
def create_post(request):
if request.method == 'POST':
content = request.POST['content']
Post.objects.create(author=request.user, content=content)
return redirect('index')
return render(request, 'create_post.html')
6. Configurer les URL

Dans social/urls.py, ajoutez les routes pour les vues :

from django.urls import path
from . import views

urlpatterns = [
path('', views.index, name='index'),
path('create/', views.create_post, name='create_post'),
]

N'oubliez pas d'inclure les URLs de l'application dans le urls.py principal :

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
path('admin/', admin.site.urls),
path('', include('social.urls')),
]
7. Créer les fichiers HTML

Dans le dossier social/templates, créez les fichiers suivants :

  • index.html : pour afficher la liste des publications.
  • create_post.html : pour créer une nouvelle publication.

Voici le contenu de index.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon Mini Réseau Social</title>
</head>
<body>
<h1>Publications</h1>
<ul>
{% for post in posts %}
<li>{{ post.author.username }} : {{ post.content }}</li>
{% endfor %}
</ul>
<a href="{% url 'create_post' %}">Créer une Publication</a>
</body>
</html>

Voici le contenu de create_post.html :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Créer une Publication</title>
</head>
<body>
<h1>Nouvelle Publication</h1>
<form action="{% url 'create_post' %}" method="post">
<{% csrf_token %}>
<label for="content">Contenu:</label>
<textarea id="content" name="content" required></textarea>

<input type="submit" value="Publier">
</form>
</body>
</html>
8. Démarrer le serveur

Pour démarrer votre application, exécutez la commande suivante :

python manage.py runserver
9. Accéder à l'application

Ouvrez votre navigateur et accédez à http://localhost:8000. Vous devriez voir votre mini réseau social. Inscrivez-vous et commencez à publier !

10. Conclusion

Vous avez maintenant créé un mini réseau social avec Django. Vous pouvez étendre cette application en ajoutant des fonctionnalités telles que des commentaires, des likes, et des profils d'utilisateurs.


Documentation de Django

Cette documentation présente les principales classes et méthodes du framework Django, ainsi que leur signification et leur utilisation pour créer un mini réseau social.

1. Installation

Pour installer Django, utilisez la commande suivante :

pip install Django
2. Classes Principales
2.1. django.db.models.Model

                1️⃣ Description : Classe de base pour tous les modèles Django.

                2️⃣ Utilisation : Créer des objets représentant des tables dans la base de données.

from django.db import models

class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
2.2. django.shortcuts.render

                1️⃣ Description : Fonction pour rendre un template HTML.

                2️⃣ Utilisation : Retourner une page HTML avec des données contextuelles.

from django.shortcuts import render

def index(request):
return render(request, 'index.html', {'posts': posts})
2.3. django.urls.path

                1️⃣ Description : Fonction pour définir des URLs dans Django.

                2️⃣ Utilisation : Mapper les URLs aux vues correspondantes.

from django.urls import path
from . import views

urlpatterns = [
path('', views.index, name='index'),
]
3. Gestion des Requêtes
3.1. request.POST

                1️⃣ Description : Contient les données POST envoyées par le formulaire.

                2️⃣ Utilisation : Accéder aux données soumises par l'utilisateur.

message = request.POST.get('message')
3.2. request.user

                1️⃣ Description : Représente l'utilisateur actuellement connecté.

                2️⃣ Utilisation : Accéder aux informations de l'utilisateur authentifié.

if request.user.is_authenticated:
username = request.user.username
4. Gestion des Erreurs
django.http.Http404

                1️⃣ Description : Exception levée lorsque la page demandée n'est pas trouvée.

                2️⃣ Utilisation : Lever une erreur 404 dans votre vue.

from django.http import Http404

def view_post(request, post_id):
try:
post = Post.objects.get(id=post_id)
except Post.DoesNotExist:
raise Http404("Post not found")
5. Configuration
settings.py

                1️⃣ Description : Fichier de configuration principal de votre application Django.

                2️⃣ Utilisation : Définir des paramètres comme la base de données, les applications installées, etc.

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
6. Exemple Complet

Voici un exemple complet d'application Django pour un mini réseau social :

from django.shortcuts import render, redirect
from .models import Post

def index(request):
posts = Post.objects.all()
return render(request, 'index.html', {'posts': posts})

def create_post(request):
if request.method == 'POST':
Post.objects.create(author=request.user, content=request.POST['content'])
return redirect('index')
return render(request, 'create_post.html')
7. Conclusion

Django est un puissant framework web qui simplifie le développement d'applications web en Python. Cette documentation couvre les bases pour vous aider à démarrer avec un mini réseau social.

Forum(s) associé(s)

Page: