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 projetproject_name/:Répertoire racine du projet__init__.pysettings.py: Fichier de paramètres du projeturls.py: Configuration des routes URLwsgi.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__.pyadmin.py: Configuration du backend d'administrationapps.py: Configuration de l'applicationmodels.py: Définition du modèle de donnéestests.py: Code de testviews.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
| Commande | Fonction | Exemple |
|---|---|---|
startproject | Créer un nouveau projet Django | django-admin startproject myproject |
startapp | Créer une nouvelle application Django | django-admin startapp myapp |
runserver | Démarrer le serveur de développement | python manage.py runserver |
makemigrations | Générer les fichiers de migration de base de données | python manage.py makemigrations |
migrate | Exécuter les migrations de base de données | python manage.py migrate |
createsuperuser | Créer un compte administrateur | python manage.py createsuperuser |
shell | Démarrer le Shell interactif de Django | python manage.py shell |
collectstatic | Collecter les fichiers statiques (pour l'environnement de production) | python manage.py collectstatic |
test | Exécuter les tests unitaires | python manage.py test |
django-admin startproject (créer un projet)
Syntaxe de base :
django-admin startproject <项目名称> [目标目录]
Description du paramètre :
| Paramètre | Fonction | Exemple |
|---|---|---|
<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 projet | django-admin startproject mysite /opt/myproject |
--template | Utiliser un modèle de projet personnalisé | django-admin startproject --template=my_template.zip mysite |
--extension | Spécifier l'extension de fichier (par ex.,.py, .txt) | django-admin startproject --extension=py,txt mysite |
--name | Spécifier le modèle de nom de fichier (par ex.,Dockerfile, README.md) | django-admin startproject --name=Dockerfile mysite |
Exemple
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ètre | Fonction | Exemple |
|---|---|---|
<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'application | django-admin startapp blog /opt/myapp |
--template | Utiliser un modèle d'application personnalisé | django-admin startapp --template=my_app_template.zip blog |
Exemple
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ètre | Fonction | Exemple |
|---|---|---|
[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 |
--noreload | Désactiver le rechargement automatique (utilisé lors du débogage) | python manage.py runserver --noreload |
--insecure | Forcer le service des fichiers statiques (mode non-DEBUG) | python manage.py runserver --insecure |
Exemple
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ètre | Fonction | Exemple |
|---|---|---|
[app name] | Facultatif, spécifiez l'application à migrer | python manage.py migrate blog |
[migration version] | Facultatif, spécifiez le numéro de version de migration | python manage.py migrate blog 0002 |
--fake | Marquer les migrations comme appliquées (sans réellement modifier la base de données) | python manage.py migrate --fake |
--fake-initial | Marquée comme exécutée uniquement si la table existe déjà | python manage.py migrate --fake-initial |
Exemple
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
| Commande | Fonction | Exemple |
|---|---|---|
createsuperuser | Créer un utilisateur administrateur | python manage.py createsuperuser |
shell | Entrer dans le shell Django (avec prise en charge de l'ORM) | python manage.py shell |
test | Exécuter les cas de test | python manage.py test blog |
collectstatic | Collecter les fichiers statiques (déploiement en environnement de production) | python manage.py collectstatic |