Commandes django-admin de Django expliquées

django-admin est un outil en ligne de commande fourni par le framework Django, et c'est l'outil central pour gérer les projets Django.

Que ce soit pour créer un nouveau projet, exécuter le serveur de développement ou effectuer des migrations de base de données, django-admin est un outil indispensable.

Pour afficher toutes les commandes fournies par django-admin, vous pouvez exécuter :

django-admin help

La sortie ressemblera à ce qui suit :

Type 'django-admin help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    optimizemigration
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

Explication détaillée des commandes django-admin couramment utilisées

1. Création d'un nouveau projet

django-admin startproject 项目名称

Cette commande créera un nouveau projet Django dans le répertoire courant, y compris la structure de base du projet :

  • manage.py:Script de gestion de projet
  • project_name/:Répertoire racine du projet
    • __init__.py
    • settings.py: Fichier de paramètres du projet
    • urls.py: Configuration des routes URL
    • wsgi.py: Point d'entrée de l'application WSGI

2. Création d'une nouvelle application

Bien que généralement utilisémanage.pypour créer des applications, mais vous pouvez aussi utiliser django-admin :

django-admin startapp 应用名称

Cela créera une nouvelle application Django, comprenant :

  • migrations/: Répertoire des fichiers de migration de base de données
  • __init__.py
  • admin.py: Configuration du backend d'administration
  • apps.py: Configuration de l'application
  • models.py: Définition du modèle de données
  • tests.py: Code de test
  • views.py: Fonction de vue

3. Vérification de la configuration du projet

django-admin check

Cette commande vérifiera si votre projet Django comporte des erreurs de configuration, notamment :

  • Si les définitions de modèle sont correctes
  • Si la configuration des URL est valide
  • Si les paramètres de template sont corrects
  • Configuration des fichiers statiques, etc.

4. Migrations de base de données

Django utilise un système de migration pour gérer les modifications du schéma de base de données :

django-admin makemigrations  # 创建迁移文件
django-admin migrate        # 应用迁移到数据库

5. Création d’un superutilisateur

django-admin createsuperuser

Cette commande vous guidera dans la création d’un superutilisateur qui peut accéder au site d’administration Django.


Commandes courantes de django-admin

CommandeFonctionExemple
startprojectCréer un nouveau projet Djangodjango-admin startproject myproject
startappCréer une nouvelle application Djangodjango-admin startapp myapp
runserverDémarrer le serveur de développementpython manage.py runserver
makemigrationsGénérer les fichiers de migration de base de donnéespython manage.py makemigrations
migrateExécuter les migrations de base de donnéespython manage.py migrate
createsuperuserCréer un compte administrateurpython manage.py createsuperuser
shellDémarrer le Shell interactif de Djangopython manage.py shell
collectstaticCollecter les fichiers statiques (pour l'environnement de production)python manage.py collectstatic
testExécuter les tests unitairespython manage.py test

django-admin startproject (créer un projet)

Syntaxe de base :

django-admin startproject <项目名称> [目标目录]

Description du paramètre :

ParamètreFonctionExemple
<project_name>Requis, nom du projet (générera un répertoire du même nom)django-admin startproject mysite
[target directory]Optionnel, spécifier le répertoire du projetdjango-admin startproject mysite /opt/myproject
--templateUtiliser un modèle de projet personnalisédjango-admin startproject --template=my_template.zip mysite
--extensionSpécifier l'extension de fichier (par ex.,.py, .txt)django-admin startproject --extension=py,txt mysite
--nameSpécifier le modèle de nom de fichier (par ex.,Dockerfile, README.md)django-admin startproject --name=Dockerfile mysite

Exemple

django-admin startproject mysite  # Créer un projet par défaut
django-admin startproject mysite /opt/code  # Spécifier le répertoire
django-admin startproject --template=https://example.com/my_template.zip mysite  # Utiliser un modèle distant

django-admin startapp (créer une application)

Syntaxe de base :

django-admin startapp <应用名称> [目标目录]

Description du paramètre :

ParamètreFonctionExemple
<app_name>Obligatoire, nom de l'application (va générermodels.py, views.pyetc.)django-admin startapp blog
[target directory]Facultatif, spécifier le répertoire de l'applicationdjango-admin startapp blog /opt/myapp
--templateUtiliser un modèle d'application personnalisédjango-admin startapp --template=my_app_template.zip blog

Exemple

django-admin startapp blog  # Créer une application par défaut
django-admin startapp blog /opt/myapp  # Spécifier le répertoire
django-admin startapp --template=my_template.zip blog  # Utiliser un modèle

django-admin runserver (démarrer le serveur de développement)

Syntaxe de base :

python manage.py runserver [IP:端口]

Description du paramètre :

ParamètreFonctionExemple
[IP:端口]Facultatif, spécifiez l'adresse IP et le port d'écoute (par défaut127.0.0.1:8000)python manage.py runserver 0.0.0.0:8080
--noreloadDésactiver le rechargement automatique (utilisé lors du débogage)python manage.py runserver --noreload
--insecureForcer le service des fichiers statiques (mode non-DEBUG)python manage.py runserver --insecure

Exemple

python manage.py runserver  # Démarrage par défaut (127.0.0.1:8000)
python manage.py runserver 0.0.0.0:8000  # Autoriser l'accès externe
python manage.py runserver 8080  # Modifier uniquement le port

django-admin migrate (migration de base de données)

Syntaxe de base :

python manage.py migrate [应用名] [迁移版本]

Description du paramètre :

ParamètreFonctionExemple
[app name]Facultatif, spécifiez l'application à migrerpython manage.py migrate blog
[migration version]Facultatif, spécifiez le numéro de version de migrationpython manage.py migrate blog 0002
--fakeMarquer les migrations comme appliquées (sans réellement modifier la base de données)python manage.py migrate --fake
--fake-initialMarquée comme exécutée uniquement si la table existe déjàpython manage.py migrate --fake-initial

Exemple

python manage.py migrate  # Appliquer toutes les migrations non appliquées
python manage.py migrate blog  # Migrer uniquement l'application blog
python manage.py migrate blog 0002  # Migrer vers une version spécifique

Autres commandes courantes

CommandeFonctionExemple
createsuperuserCréer un utilisateur administrateurpython manage.py createsuperuser
shellEntrer dans le shell Django (avec prise en charge de l'ORM)python manage.py shell
testExécuter les cas de testpython manage.py test blog
collectstaticCollecter les fichiers statiques (déploiement en environnement de production)python manage.py collectstatic
autres extensions