Aperçu

Django est un framework web Python de haut niveau qui encourage un développement rapide et une conception propre et pragmatique. Il inclut un ORM, un panneau d'administration, un système d'authentification et un moteur de templates intégrés.

Avant de commencer
Assurez-vous que votre tableau de bord est ouvert - vous aurez besoin des identifiants Git qui y sont affichés. Ce modèle inclut Django, Gunicorn, mysqlclient pour la prise en charge de MySQL et Django REST Framework.

Démarrage rapide

1

Créer un dépôt à partir du modèle

Sur votre tableau de bord, allez dans l'onglet Tools & Deployment. Cliquez sur le bouton "New Repository", sélectionnez le modèle Django dans le menu déroulant, saisissez un nom de dépôt et un sous-domaine, puis cliquez sur "Create Repository".

2

Cloner votre dépôt

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Installer les dépendances

pip install -r requirements.txt
4

Configurer la base de données et exécuter les migrations

Mettez à jour les paramètres de base de données dans settings.py (voir Configuration de la base de données ci-dessous), puis exécutez :

python manage.py migrate
python manage.py runserver

Le serveur s'exécute par défaut sur http://localhost:8000.

5

Pousser vos modifications

git add .
git commit -m "Initial setup"
git push origin main
Chaque push vers Git déploie automatiquement votre application. Consultez l'URL de travail du module sur votre tableau de bord pour voir votre site en ligne.

Développement local avec Docker

Si vous n'avez pas Python installé localement, vous pouvez utiliser Docker pour exécuter votre application Django.

Qu'est-ce que Docker ?
Docker crée des "conteneurs" isolés contenant tous les logiciels nécessaires (Python, pip) sans les installer sur votre ordinateur.

Exécuter des commandes avec Docker

# Installer les dépendances
docker run --rm -v $(pwd):/app -w /app python:3.12 pip install -r requirements.txt

# Exécuter le serveur de développement
docker run --rm -v $(pwd):/app -w /app -p 8000:8000 python:3.12 sh -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"

Configuration de la base de données

La plateforme NStrim met à votre disposition une base de données MySQL/MariaDB. Mettez à jour le paramètre DATABASES dans votre fichier settings.py.

Mettre à jour settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<username>',
        'USER': '<username>',
        'PASSWORD': '<password>',
        'HOST': 'db.<session-domain>',
        'PORT': '3306',
    }
}
Important
Le nom de votre base de données et votre nom d'utilisateur sont généralement identiques à votre nom d'utilisateur du tableau de bord (par ex. student01). Consultez la section identifiants de votre tableau de bord pour les valeurs exactes.

Structure du projet

├── project/
│   ├── settings.py            # Configuration du projet
│   ├── urls.py                # Configuration des URL racine
│   └── wsgi.py                # Point d'entrée WSGI
├── app/
│   ├── models.py              # Modèles de base de données
│   ├── views.py               # Fonctions / classes de vue
│   ├── urls.py                # Modèles d'URL de l'app
│   ├── serializers.py         # Sérialiseurs DRF
│   ├── admin.py               # Configuration du panneau admin
│   └── templates/             # Templates HTML
├── static/                    # CSS, JS, images
├── manage.py                  # CLI de gestion Django
├── requirements.txt           # Dépendances Python
└── Dockerfile                 # Config Docker
        

Tâches courantes

Créer un modèle

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

Créer une vue

from django.http import JsonResponse
from .models import User

def user_list(request):
    users = list(User.objects.values('id', 'name', 'email'))
    return JsonResponse(users, safe=False)

Configuration des URL

from django.urls import path
from . import views

urlpatterns = [
    path('users/', views.user_list, name='user-list'),
]

Commandes utiles

python manage.py runserver Démarrer le serveur de développement
python manage.py migrate Exécuter les migrations de base de données
python manage.py makemigrations Créer de nouvelles migrations à partir des changements de modèle
python manage.py createsuperuser Créer un utilisateur admin pour le panneau /admin
python manage.py shell Shell Python interactif avec Django

Dépannage

OperationalError: (2002) Can't connect to MySQL server

Cause : L'hôte de la base de données est incorrect ou non accessible.

Solution : Vérifiez que HOST dans le paramètre DATABASES correspond à l'hôte de la base de données indiqué sur votre tableau de bord.

OperationalError: (1045) Access denied for user

Cause : Nom d'utilisateur ou mot de passe incorrect.

Solution : Vérifiez que USER et PASSWORD dans votre settings.py correspondent exactement aux identifiants de votre tableau de bord.

No module named 'MySQLdb'

Solution : Installez le client MySQL : pip install mysqlclient. Sur macOS, vous pourriez également avoir besoin de : brew install mysql-client.

DisallowedHost: Invalid HTTP_HOST header

Solution : Ajoutez votre domaine de déploiement à ALLOWED_HOSTS dans settings.py : ALLOWED_HOSTS = ['*']

Flux de déploiement

Modification du code git push pip install En ligne !
Pour plus d'informations, consultez la documentation Django.