Création d'un projet Django avec PyCharm

PyCharm est un puissant IDE Python qui offre un excellent support pour le framework Django, en particulier dans son édition Professional (PyCharm Pro).

Lancez PyCharm et créez un nouveau projet

  1. Ouvrez PyCharm, cliquez sur "Nouveau projet"
  2. Sélectionnez "Django" à gauche
  3. Définissez l'emplacement du projet (Emplacement)
  4. Configurez l'interpréteur Python (il est recommandé de créer un nouvel environnement virtuel)

Configurez les paramètres du projet

  • Nom du projet: Utilisez une combinaison de lettres minuscules et de traits de soulignement (par exemple, DjangoProject)
  • Langage de template: Sélectionnez Django par défaut
  • Framework front-end: Vous pouvez sélectionner selon vos besoins (les débutants peuvent laisser cette option non sélectionnée)
  • Activer l'admin Django: Peut être cochée

Attendez l'initialisation du projet

PyCharm va automatiquement :

  1. Créer un environnement virtuel
  2. Installer la dernière version stable de Django
  3. Générer la structure de base du projet

Décomposition de la structure du projet

Après la création, vous verrez les principaux fichiers et répertoires suivants :

Répertoire racine du projet

  • manage.py: outil en ligne de commande Django
  • Répertoire du même nom que le projet(par exemple, DjangoProject/) : contient la configuration principale du projet

Répertoire de configuration du projet

  • init.py: Identifie ceci comme un paquet Python
  • settings.py: fichier de configuration du projet
  • urls.py: configuration du routage d’URL
  • wsgi.py: configuration du serveur WSGI

Autres fichiers importants

  • requirements.txt: Fichier de dépendances du projet (PyCharm peut le générer automatiquement)
  • venv/: Répertoire de l'environnement virtuel (si vous avez choisi de créer un environnement virtuel)

Lancer le serveur de développement Django

Lancer via PyCharm

  1. Cliquez sur le menu déroulant de configuration d'exécution dans le coin supérieur droit de PyCharm
  2. Sélectionnez "Configuration -> Edit"

  3. Assurez-vous que le serveur Django est configuré
  4. Cliquez sur le bouton d'exécution vert

Lancer via la ligne de commande

  1. Ouvrez le terminal de PyCharm
  2. Saisissez la commande :python3 manage.py runserver

    Après un démarrage réussi, les informations du terminal s'affichent comme suit :

    :

  3. Visitez http://127.0.0.1:8000 Affichez la page par défaut :

Dépannage

  • Conflit de port: Utilisezpython manage.py runserver 8080Spécifiez un autre port
  • Base de données non migrée: À exécuter lors du premier lancementpython manage.py migrate

Créer une application Django

Créer une nouvelle application

Entrez ce qui suit dans le terminal de PyCharm :

python3 manage.py startapp myapp

Ajoutez l'application àsettings.pydeINSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'myapp',
]

Dans le projeturls.pyIncluez les routes URL de l'application :

Exemple

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

url = [
    path('admin/', admin.site.urls),
    path('myapp/', include('myapp.urls')),
]

Structure du répertoire de l'application

  • migrations/: fichiers de migration de base de données
  • admin.py: configuration du back-end d'administration
  • apps.py: configuration de l'application
  • models.py: définitions des modèles de données
  • tests.py: code de test
  • views.py: fonctions de vue

Configurer le routage d'URL sous le répertoire myapp

Ouvrez myapp/models.py pour définir le modèle. Par exemple :

Exemple

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)

    def __str__(self):
        return self.title

Après avoir enregistré, exécutez python manage.py makemigrations et python manage.py migrate pour mettre à jour la base de données.

Créer des vues et des URL :

Définir les vues dans myapp/views.py :

Exemple

from django.shortcuts import render
from .models import Post

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

Configurer les URL dans myapp/urls.py (doit être créé manuellement) :

Exemple

from django.urls import path
from . import views

url = [
    path('', views.post_list, name='post_list'),
]

Créez le dossier DjangoProject/templates/myapp/ dans le répertoire racine du projet, puis créez post_list.html dans ce dossier.

Exemple

<!DOCTYPE html>
<html>
<head>
    <title>Liste des articles</title>
</head>
<body>
    <h1>Articles</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} - {{ post.created_at }}</li>
        {% empty %}
            <li>Aucun article disponible.</li>
        {% endfor %}
    </ul>
</body>
</html>

Assurez-vous que le paramètre TEMPLATES dans settings.py contient le répertoire de modèles correct :

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],
        ...
    }
]
Autres extensions