Django django-admin Befehle erklärt
django-admin ist ein vom Django-Framework bereitgestelltes Kommandozeilen-Tool und das Kernwerkzeug zur Verwaltung von Django-Projekten.
Ob Sie ein neues Projekt erstellen, den Entwicklungsserver ausführen oder Datenbankmigrationen durchführen, django-admin ist ein unverzichtbares Werkzeug.
Um alle von django-admin bereitgestellten Befehle anzuzeigen, können Sie ausführen:
django-admin help
Die Ausgabe sieht in etwa wie folgt aus:
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
Detaillierte Erläuterung der häufig verwendeten django-admin-Befehle
1. Ein neues Projekt erstellen
django-admin startproject 项目名称
Dieser Befehl erstellt ein neues Django-Projekt im aktuellen Verzeichnis, einschließlich der grundlegenden Projektstruktur:
manage.py:Projektverwaltungsskriptproject_name/:Projektstammverzeichnis__init__.pysettings.py:Projekt-Einstellungsdateiurls.py: URL-Routenkonfigurationwsgi.py: WSGI-Anwendungseinstiegspunkt
2. Erstellen einer neuen Anwendung
Obwohl normalerweise verwendetmanage.pyum Apps zu erstellen, können Sie aber auch django-admin verwenden:
django-admin startapp 应用名称
Dadurch wird eine neue Django-Anwendung erstellt, einschließlich:
migrations/:Verzeichnis für Datenbankmigrationen__init__.pyadmin.py:Admin-Backend-Konfigurationapps.py: Anwendungskonfigurationmodels.py:Datenmodelldefinitiontests.py: Testcodeviews.py: View-Funktion
3. Projektkonfiguration prüfen
django-admin check
Dieser Befehl überprüft, ob Ihr Django-Projekt Konfigurationsfehler enthält, darunter:
- Ob die Modelldefinitionen korrekt sind
- Ob die URL-Konfiguration gültig ist
- Ob die Template-Einstellungen korrekt sind
- Konfiguration statischer Dateien usw.
4. Datenbankmigrationen
Django verwendet ein Migrationssystem, um Änderungen am Datenbankschema zu verwalten:
django-admin makemigrations # 创建迁移文件 django-admin migrate # 应用迁移到数据库
5. Erstellen eines Superusers
django-admin createsuperuser
Dieser Befehl führt Sie durch die Erstellung eines Superusers, der auf die Django-Admin-Seite zugreifen kann.
Häufige django-admin-Befehle
| Befehl | Funktion | Beispiel |
|---|---|---|
startproject | ⟦⟧创建一个新的 Django 项目 | django-admin startproject myproject |
startapp | 创建一个新的 Django 应用 | django-admin startapp myapp |
runserver | Den Entwicklungsserver starten | python manage.py runserver |
makemigrations | 生成数据库迁移文件 | python manage.py makemigrations |
migrate | 运行数据库迁移 | python manage.py migrate |
createsuperuser | 创建管理员账户 | python manage.py createsuperuser |
shell | 启动 Django 交互式 Shell | python manage.py shell |
collectstatic | 收集静态文件(用于生产环境) | python manage.py collectstatic |
test | 运行单元测试 | python manage.py test |
django-admin startproject(创建项目)
Grundlegende Syntax:
django-admin startproject <项目名称> [目标目录]
Parameter description:
| Parameter | Funktion | Beispiel |
|---|---|---|
<project_name> | 必填,项目名称(将生成同名目录) | django-admin startproject mysite |
[target directory] | 可选,指定项目目录 | django-admin startproject mysite /opt/myproject |
--template | 使用自定义项目模板 | django-admin startproject --template=my_template.zip mysite |
--extension | Dateierweiterung angeben (z. B.,.py, .txt) | django-admin startproject --extension=py,txt mysite |
--name | Dateinamenmuster angeben (z. B.,Dockerfile, README.md) | django-admin startproject --name=Dockerfile mysite |
Beispiel
django-admin startproject mysite /opt/code # Verzeichnis angeben
django-admin startproject --template=https://example.com/my_template.zip mysite # Remote-Vorlage verwenden
django-admin startapp (eine Anwendung erstellen)
Grundlegende Syntax:
django-admin startapp <应用名称> [目标目录]
Parameter description:
| Parameter | Funktion | Beispiel |
|---|---|---|
<app_name> | Erforderlich, Anwendungsname (wird generiertmodels.py, views.pyusw.) | django-admin startapp blog |
[target directory] | Optional, Anwendungsverzeichnis angeben | django-admin startapp blog /opt/myapp |
--template | Benutzerdefinierte Anwendungsvorlage verwenden | django-admin startapp --template=my_app_template.zip blog |
Beispiel
django-admin startapp blog /opt/myapp # Verzeichnis angeben
django-admin startapp --template=my_template.zip blog # Vorlage verwenden
django-admin runserver (Entwicklungsserver starten)
Grundlegende Syntax:
python manage.py runserver [IP:端口]
Parameter description:
| Parameter | Funktion | Beispiel |
|---|---|---|
[IP:端口] | Optional, IP und Port zum Lauschen angeben (Standard127.0.0.1:8000) | python manage.py runserver 0.0.0.0:8080 |
--noreload | Auto-Reload deaktivieren (wird beim Debuggen verwendet) | python manage.py runserver --noreload |
--insecure | Auslieferung statischer Dateien erzwingen (Nicht-DEBUG-Modus) | python manage.py runserver --insecure |
Beispiel
python manage.py runserver 0.0.0.0:8000 # Externen Zugriff erlauben
python manage.py runserver 8080 # Nur den Port ändern
django-admin migrate (Datenbankmigration)
Grundlegende Syntax:
python manage.py migrate [应用名] [迁移版本]
Parameter description:
| Parameter | Funktion | Beispiel |
|---|---|---|
[app name] | Optional, die zu migrierende Anwendung angeben | python manage.py migrate blog |
[migration version] | Optional, die Migrationsversionsnummer angeben | python manage.py migrate blog 0002 |
--fake | Migrationen als angewendet markieren (ohne die Datenbank tatsächlich zu ändern) | python manage.py migrate --fake |
--fake-initial | Nur als ausgeführt markiert, wenn die Tabelle bereits existiert | python manage.py migrate --fake-initial |
Beispiel
python manage.py migrate blog # Nur die blog-App migrieren
python manage.py migrate blog 0002 # Zu einer bestimmten Version migrieren
Weitere gängige Befehle
| Befehl | Funktion | Beispiel |
|---|---|---|
createsuperuser | Administrator-Benutzer erstellen | python manage.py createsuperuser |
shell | Django-Shell starten (mit ORM-Unterstützung) | python manage.py shell |
test | Testfälle ausführen | python manage.py test blog |
collectstatic | Statische Dateien sammeln (Bereitstellung in der Produktionsumgebung) | python manage.py collectstatic |