[Django3] Umgebungskonstruktion und Zusammenfassung verschiedener Einstellungen [Python3]

Einführung

Dies ist eine Zusammenfassung der CLI-Befehle, der Verzeichnisstruktur und verschiedener Einstellungen, die für die Systementwicklung mit Django erforderlich sind.

Django hat viele offizielle Unterlagen. Wenn Sie also Zeit haben, schauen Sie dort nach. Ich habe viel Japanisch! Offizielles Django-Dokument

Systemkonfiguration

Django Installation

PowerShell


#Erstellen Sie eine virtuelle Umgebung
python -m venv venv

#Aktivierung der virtuellen Umgebung
./venv/Script/activate

#Django Installation
pip install django

Django CLI Spickzettel

Projekterstellung

PowerShell


#Im aktuellen Verzeichnis<Project Name>Erstellen Sie ein Verzeichnis und erstellen Sie ein Projekt darin
django-admin startproject <Project Name>

#Erstellen Sie ein Projekt direkt unter dem aktuellen Verzeichnis
django-admin startproject <Project Name> .

Anwendungserstellung

PowerShell


python manage.py startapp <Application Name>

Starten Sie den Entwicklungsserver

PowerShell


# localhost:Starten Sie den Entwicklungsserver auf 8000
python manage.py runserver [<Port>]

Administrativen Benutzer erstellen

PowerShell


python manage.py createsuperuser

Nach dem Ausführen des Befehls werden Sie aufgefordert, Ihren "Benutzernamen", Ihre "E-Mail-Adresse" und Ihr "Passwort" einzugeben. Um sich beim Verwaltungsbildschirm anzumelden, greifen Sie nach dem Starten des Entwicklungsservers auf "http: // localhost: 8000 / admin /" zu.

Statische Dateiaggregation

PowerShell


python manage.py collectstatic

Die statischen Dateien werden in das Verzeichnis kopiert, das in STATIC_ROOT unter \ /settings.py definiert ist.

Migration

Erstellung einer Migrationsdatei

PowerShell


python manage.py makemigrations

Erstellen Sie eine Migrationsdatei, die die Änderungen an der Datenbank beschreibt.

Ausführung der Migration

PowerShell


python manage.py migrate

Reflektieren Sie den Inhalt der Migrationsdatei in der Datenbank.

Django-Verzeichnisstruktur

<Project Name> ┬ venv                   #Verzeichnis der virtuellen Umgebung
               ├ static                 #Speicherverzeichnis für statische Dateien(※3)
               │ ├ css
               │ ├ js
               │ └ ...
               ├ templates              #Vorlagenspeicherverzeichnis(※1)
               │ ├ base.html            #Vorlagenbasierte Datei
               │ └ <Application Name>
               │   └ ...                #Vorlagendatei
               ├ <Project Name>         #Projektverzeichnis
               │ ├ __init__.py
               │ ├ asgi.py
               │ ├ settings.py          #Datei für Projekt einstellen
               │ ├ urls.py              #Projektrouting-Definitionsdatei
               │ └ wsgi.py
               ├ <Application Name>     #Anwendungsverzeichnis
               │ ├ static               #Speicherverzeichnis für statische Dateien(※4)
               │ │ ├ css
               │ │ ├ js
               │ │ └ ...
               │ ├ migrations
               │ ├ templates            #Vorlagenspeicherverzeichnis(※2)
               │ │ └ ...                #Vorlagendatei
               │ ├ __init__.py
               │ ├ admin.py             #Verwaltungssite-Einstellungsdatei
               │ ├ apps.py              #Anwendungskonfigurations-Einstellungsdatei
               │ ├ forms.py             #Formulardefinitionsdatei
               │ ├ models.py            #Modelldefinitionsdatei
               │ ├ tests.py             #Testcode-Beschreibungsdatei
               │ ├ urls.py              #Anwendungsrouting-Definitionsdatei
               │ └ views.py             #Definitionsdatei anzeigen
               ├ manage.py              #Ausführungsdatei des Dienstprogrammbefehls
               └ requirements.txt       #Paketliste

Vorlagenverzeichnis

statisches Verzeichnis

--Statisches Verzeichnis direkt unter dem Projektverzeichnis (* 3)

Django-Projekteinstellungen

Sprache und Zeitzone

settings.py


-- LANGUAGE_CODE = "en-us"
++ LANGUAGE_CODE = "ja"

-- TIME_ZONE = "UTC"
++ TIME_ZONE = "Asia/Tokyo"

Datenbank

settings.py


   #Für MySQL
-- DATABASES = {
--     "default": {
--         "ENGINE": "django.db.backends.sqlite3",
--         "NAME": os.path.join(BASE_DIR, "db.sqlite3"),
--     }
-- }
++ DATABASES = {
++     "default": {
++         "ENGINE": "django.db.backends.mysql",
++         "HOST": "127.0.0.1",
++         "PORT": "3306",
++         "NAME": "<DB Name>",
++         "USER": "<User Name>",
++         "PASSWORD": "<Password>",
++     }
++ }

Anwendungsliste

settings.py


   #Anwendung Beim Hinzufügen einer Anwendung
   INSTALLED_APPS = [
       "django.contrib.admin",
       "django.contrib.auth",
       "django.contrib.contenttypes",
       "django.contrib.sessions",
       "django.contrib.messages",
       "django.contrib.staticfiles",
++     "application.apps.ApplicationConfig",
   ]

Fügen Sie nach dem Erstellen einer neuen Anwendung die Anwendung zur Projekteinstellungsdatei hinzu.

Statische Dateien (CSS, JavaScript, Bilder, ...)

Projekt

settings.py


   #URL für die Zustellung statischer Dateien
   STATIC_URL = "/static/"

   #Statisches Dateispeicherverzeichnis, das keiner bestimmten Anwendung zugeordnet ist
++ STATICFILES_DIRS = (
++     os.path.join(BASE_DIR, "static"),
++ )

   #Verzeichnis, in dem statische Dateien während der Bereitstellung vom Befehl collectstatic Administration zusammengefasst werden
++ STATIC_ROOT = "/var/www/example.com/static/"

Definieren Sie ein statisches Dateispeicherverzeichnis in der Projekteinstellungsdatei.

Vorlage

index.html


++ {% load static %}
   <!DOCTYPE html>
   <html>
     <head>
       ...
++     <link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">

Nachdem Sie das statische Tag oben in die Vorlagendatei geladen haben, können Sie das statische Tag verwenden, um die statische Datei mit einem relativen Pfad zu beschreiben.

Django-Routing

Wenn Sie eine Route zu "https: // <example.jp> / application /" hinzufügen, fügen Sie sie der Projektroutingdatei hinzu und erstellen oder fügen Sie die Anwendungsroutingdatei hinzu.

Projekt

settings.py


   TEMPLATES = [
       {
           "BACKEND": "django.template.backends.django.DjangoTemplates",
--         "DIRS": [],
++         "DIRS": [os.path.join(BASE_DIR, "templates")],
           "APP_DIRS": True,
           "OPTIONS": {
               "context_processors": [
                   "django.template.context_processors.debug",
                   "django.template.context_processors.request",
                   "django.contrib.auth.context_processors.auth",
                   "django.contrib.messages.context_processors.messages",
               ],
           },
       },
   ]

Die obigen Einstellungen sind erforderlich, wenn Sie ein Vorlagenverzeichnis direkt unter dem Projektverzeichnis erstellen. Wenn Sie ein Vorlagenverzeichnis direkt unter jedem Anwendungsverzeichnis erstellen möchten, ist es in Ordnung, wenn "APP_DIRS" True ist.

urls.py


-- from django.urls import path
++ from django.urls import path, include

   urlpatterns = [
       path("admin/", admin.site.urls),
++     path("application/", include("application.urls")),
   ]

Beschreiben Sie das Routing von der Route (/). Mit der Include-Funktion kann der Routing-Prozess auf die Anwendungsseite übertragen werden.

Anwendung

urls.py


++ from django.urls import path
++ from . import views

++ app_name = "application"
++ urlpatterns = [
++     path("", views.IndexViews.as_view(), name="index")
++ ]

Das mit dem Befehl erstellte Anwendungsverzeichnis enthält nicht urls.py. Sie müssen es daher selbst erstellen, wenn Sie die Anwendung zum ersten Mal weiterleiten.

views.py


-- from django.shortcuts import render
++ from django.views import generic

++ class IndexView(generic.TemplateView):
       #Beim Erstellen eines Vorlagenverzeichnisses direkt unter dem Anwendungsverzeichnis
++     template_name = "index.html"   
       #Beim Erstellen eines Vorlagenverzeichnisses direkt unter dem Projektverzeichnis
++     template_name = "<Application Name>/index.html"

Verknüpfen Sie die Ansicht mit der Vorlage, indem Sie den relativen Pfad der Vorlagendatei ausgehend vom Vorlagenverzeichnis in der Variablen template_name speichern.

Recommended Posts

[Django3] Umgebungskonstruktion und Zusammenfassung verschiedener Einstellungen [Python3]
Python-Umgebungskonstruktion und TensorFlow
Umgebungskonstruktion von Python und OpenCV
Django Umweltbau
Umgebungskonstruktion (Python)
Django Umweltbau
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
Aufbau der Python3 TensorFlow-Umgebung (Mac und pyenv virtualenv)
Zusammenfassung des Python Django-Tutorials
Bau der Django-Projektumgebung
Homebrew Python Umgebung Konstruktion
Aufbau einer Python-Entwicklungsumgebung
python2.7 Konstruktion der Entwicklungsumgebung
Python-Umgebungskonstruktion @ Win7
Zusammenfassung der Python-Umgebungseinstellungen für mich [mac] [ubuntu]
Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
[Python] Django-Umgebungskonstruktion (pyenv + pyenv-virtualenv + Anaconda) für macOS
Python + Anaconda + Pycharm-Umgebungskonstruktion
Django Entwicklungsumgebung Bau Memo
Aufbau einer Python-Umgebung (Windows 10 + Emacs)
CI-Umgebungskonstruktion ~ Python Edition ~
Aufbau einer Python-Umgebung für Mac
Konstruktionsverfahren für die Anaconda3-Python-Umgebung
Docker + Django + Umgebungskonstruktion reagieren
Python3-Umgebungskonstruktion (für Anfänger)
Installieren Sie Python 3.7 und Django 3.0 (CentOS)
Umgebungskonstruktion von NumPy und Matplotlib
[MEMO] [Entwicklung der Entwicklungsumgebung] Python
Django Zeitzoneneinstellung und Spracheinstellung
Django Projekt Entwicklungsumgebung Bau
Umgebungskonstruktion von Python2 & 3 (OSX)
Bis zur Veröffentlichung von Python [Django] de Web Service [Umgebungskonstruktion]
Zusammenfassung der Versionsverwaltung der virtuellen Umgebung Python
Mac + Eclipse (PyDev) + Django-Umgebungskonstruktion
Python-Umgebungskonstruktionsnotiz unter Windows 10
Beginnen Sie mit Python! ~ ① Umweltbau ~
Python Practice_Virtual Environment Setup ~ Django-Installation
Aufbau einer Anaconda-Python-Umgebung unter Windows 10
Python + Unity Verbesserte Erstellung von Lernumgebungen
[Django] Memorandum of Environment Construction Procedure
Ich habe die Konstruktion der Mac Python-Umgebung überprüft
[Für Anfänger] Django -Entwicklungsumgebung Bau-
Konstruktionsnotiz für die Python-Umgebung auf dem Mac
Verschiedene Anaconda-Einstellungen in der Windows 10-Umgebung
Python-Umgebungskonstruktion (Pyenv, Anaconda, Tensorflow)
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Aufbau einer Python-Entwicklungsumgebung unter macOS
Python-Umgebungskonstruktion (Pyenv + Poesie + Pipx)
Ml-Agents Release 6 (0.19.0) Zusammenfassung der Umgebungskonstruktion [Windows]
Emacs-Einstellungen für die Python-Entwicklungsumgebung
Erstellen einer Umgebung für Python3.8 auf einem Mac
Zusammenfassung der Einstellungen für statische Django-Dateien (statisch)
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Python3 TensorFlow für Mac-Umgebungskonstruktion