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:Projektverwaltungsskript
  • project_name/:Projektstammverzeichnis
    • __init__.py
    • settings.py:Projekt-Einstellungsdatei
    • urls.py: URL-Routenkonfiguration
    • wsgi.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__.py
  • admin.py:Admin-Backend-Konfiguration
  • apps.py: Anwendungskonfiguration
  • models.py:Datenmodelldefinition
  • tests.py: Testcode
  • views.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

BefehlFunktionBeispiel
startproject⟦⟧创建一个新的 Django 项目django-admin startproject myproject
startapp创建一个新的 Django 应用django-admin startapp myapp
runserverDen Entwicklungsserver startenpython manage.py runserver
makemigrations生成数据库迁移文件python manage.py makemigrations
migrate运行数据库迁移python manage.py migrate
createsuperuser创建管理员账户python manage.py createsuperuser
shell启动 Django 交互式 Shellpython manage.py shell
collectstatic收集静态文件(用于生产环境)python manage.py collectstatic
test运行单元测试python manage.py test

django-admin startproject(创建项目)

Grundlegende Syntax:

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

Parameter description:

ParameterFunktionBeispiel
<project_name>必填,项目名称(将生成同名目录)django-admin startproject mysite
[target directory]可选,指定项目目录django-admin startproject mysite /opt/myproject
--template使用自定义项目模板django-admin startproject --template=my_template.zip mysite
--extensionDateierweiterung angeben (z. B.,.py, .txt)django-admin startproject --extension=py,txt mysite
--nameDateinamenmuster angeben (z. B.,Dockerfile, README.md)django-admin startproject --name=Dockerfile mysite

Beispiel

django-admin startproject mysite  # Standardprojekt erstellen
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:

ParameterFunktionBeispiel
<app_name>Erforderlich, Anwendungsname (wird generiertmodels.py, views.pyusw.)django-admin startapp blog
[target directory]Optional, Anwendungsverzeichnis angebendjango-admin startapp blog /opt/myapp
--templateBenutzerdefinierte Anwendungsvorlage verwendendjango-admin startapp --template=my_app_template.zip blog

Beispiel

django-admin startapp blog  # Standardanwendung erstellen
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:

ParameterFunktionBeispiel
[IP:端口]Optional, IP und Port zum Lauschen angeben (Standard127.0.0.1:8000)python manage.py runserver 0.0.0.0:8080
--noreloadAuto-Reload deaktivieren (wird beim Debuggen verwendet)python manage.py runserver --noreload
--insecureAuslieferung statischer Dateien erzwingen (Nicht-DEBUG-Modus)python manage.py runserver --insecure

Beispiel

python manage.py runserver  # Standardstart (127.0.0.1:8000)
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:

ParameterFunktionBeispiel
[app name]Optional, die zu migrierende Anwendung angebenpython manage.py migrate blog
[migration version]Optional, die Migrationsversionsnummer angebenpython manage.py migrate blog 0002
--fakeMigrationen als angewendet markieren (ohne die Datenbank tatsächlich zu ändern)python manage.py migrate --fake
--fake-initialNur als ausgeführt markiert, wenn die Tabelle bereits existiertpython manage.py migrate --fake-initial

Beispiel

python manage.py migrate  # Alle nicht angewendeten Migrationen anwenden
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

BefehlFunktionBeispiel
createsuperuserAdministrator-Benutzer erstellenpython manage.py createsuperuser
shellDjango-Shell starten (mit ORM-Unterstützung)python manage.py shell
testTestfälle ausführenpython manage.py test blog
collectstaticStatische Dateien sammeln (Bereitstellung in der Produktionsumgebung)python manage.py collectstatic
Weitere Erweiterungen