[Django3] Construction de l'environnement et résumé de divers paramètres [Python3]

introduction

Ceci est un résumé des commandes CLI, de la structure des répertoires et des divers paramètres requis pour le développement du système avec Django.

Django a beaucoup de documentation officielle, donc si vous avez le temps, jetez un œil là-bas. J'ai beaucoup de japonais! Document officiel de Django

Configuration du système

Installation de Django

PowerShell


#Créer un environnement virtuel
python -m venv venv

#Activation de l'environnement virtuel
./venv/Script/activate

#Installation de Django
pip install django

Aide-mémoire Django CLI

Création de projet

PowerShell


#Dans le répertoire courant<Project Name>Créez un répertoire et créez-y un projet
django-admin startproject <Project Name>

#Créer un projet directement sous le répertoire courant
django-admin startproject <Project Name> .

Création d'applications

PowerShell


python manage.py startapp <Application Name>

Démarrer le serveur de développement

PowerShell


# localhost:Démarrez le serveur de développement sur 8000
python manage.py runserver [<Port>]

Créer un utilisateur administratif

PowerShell


python manage.py createsuperuser

Après avoir exécuté la commande, vous serez invité à entrer votre «nom d'utilisateur», «adresse e-mail» et «mot de passe». Pour vous connecter à l'écran de gestion, accédez à http: // localhost: 8000 / admin / après le démarrage du serveur de développement.

Agrégation de fichiers statique

PowerShell


python manage.py collectstatic

Les fichiers statiques sont copiés dans le répertoire défini dans STATIC_ROOT dans \ /settings.py.

migration

Création du fichier de migration

PowerShell


python manage.py makemigrations

Créez un fichier de migration qui décrit les modifications apportées à la base de données.

Exécution de la migration

PowerShell


python manage.py migrate

Reflète le contenu du fichier de migration dans la base de données.

Structure de répertoires Django

<Project Name> ┬ venv                   #Répertoire d'environnement virtuel
               ├ static                 #Répertoire de stockage de fichiers statiques(※3)
               │ ├ css
               │ ├ js
               │ └ ...
               ├ templates              #Répertoire de stockage des modèles(※1)
               │ ├ base.html            #Fichier basé sur un modèle
               │ └ <Application Name>
               │   └ ...                #Fichier modèle
               ├ <Project Name>         #Répertoire de projets
               │ ├ __init__.py
               │ ├ asgi.py
               │ ├ settings.py          #Fichier de configuration pour le projet
               │ ├ urls.py              #Fichier de définition de routage de projet
               │ └ wsgi.py
               ├ <Application Name>     #Répertoire des applications
               │ ├ static               #Répertoire de stockage de fichiers statiques(※4)
               │ │ ├ css
               │ │ ├ js
               │ │ └ ...
               │ ├ migrations
               │ ├ templates            #Répertoire de stockage des modèles(※2)
               │ │ └ ...                #Fichier modèle
               │ ├ __init__.py
               │ ├ admin.py             #Fichier de configuration du site de gestion
               │ ├ apps.py              #Fichier de paramètres de configuration de l'application
               │ ├ forms.py             #Fichier de définition de formulaire
               │ ├ models.py            #Fichier de définition de modèle
               │ ├ tests.py             #Fichier de description du code de test
               │ ├ urls.py              #Fichier de définition de routage d'application
               │ └ views.py             #Afficher le fichier de définition
               ├ manage.py              #Fichier d'exécution de commande utilitaire
               └ requirements.txt       #Liste des paquets

répertoire des modèles

répertoire statique

--Répertoire statique directement sous le répertoire du projet (* 3)

Paramètres du projet Django

Langue et fuseau horaire

settings.py


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

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

Base de données

settings.py


   #Pour 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>",
++     }
++ }

Liste des applications

settings.py


   #application Lors de l'ajout d'une application
   INSTALLED_APPS = [
       "django.contrib.admin",
       "django.contrib.auth",
       "django.contrib.contenttypes",
       "django.contrib.sessions",
       "django.contrib.messages",
       "django.contrib.staticfiles",
++     "application.apps.ApplicationConfig",
   ]

Après avoir créé une nouvelle application, ajoutez l'application au fichier de paramètres du projet.

Fichiers statiques (CSS, JavaScript, Images, ...)

projet

settings.py


   #URL pour la livraison de fichiers statiques
   STATIC_URL = "/static/"

   #Répertoire de stockage de fichiers statique qui n'est pas associé à une application spécifique
++ STATICFILES_DIRS = (
++     os.path.join(BASE_DIR, "static"),
++ )

   #Un répertoire dans lequel les fichiers statiques sont agrégés par la commande d'administration collectstatic lors du déploiement
++ STATIC_ROOT = "/var/www/example.com/static/"

Définissez un répertoire de stockage de fichiers statiques dans le fichier de paramètres du projet.

modèle

index.html


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

Après avoir chargé la balise statique en haut du fichier de modèle, vous pouvez ensuite utiliser la balise static pour décrire le fichier statique avec un chemin relatif.

Routage Django

Lors de l'ajout d'une route à "https: // <example.jp> / application /", ajoutez-la au fichier de routage du projet et créez ou ajoutez le fichier de routage de l'application.

projet

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",
               ],
           },
       },
   ]

Les paramètres ci-dessus sont requis lors de la création d'un répertoire de modèles directement sous le répertoire de projet. Si vous souhaitez créer un répertoire de modèles directement sous chaque répertoire d'application, ce n'est pas grave si "APP_DIRS" a la valeur True.

urls.py


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

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

Décrivez le routage à partir de la route (/). En utilisant la fonction d'inclusion, le processus de routage peut être transféré du côté de l'application.

application

urls.py


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

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

Le répertoire d'application créé par la commande n'inclut pas urls.py, vous devrez donc le créer vous-même la première fois que vous acheminez l'application.

views.py


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

++ class IndexView(generic.TemplateView):
       #Lors de la création d'un répertoire de modèles directement sous le répertoire de l'application
++     template_name = "index.html"   
       #Lors de la création d'un répertoire de modèles directement sous le répertoire de projet
++     template_name = "<Application Name>/index.html"

Associez la vue au modèle en stockant le chemin relatif du fichier de modèle à partir du répertoire des modèles dans la variable template_name.

Recommended Posts

[Django3] Construction de l'environnement et résumé de divers paramètres [Python3]
Construction d'environnement Python et TensorFlow
Construction d'environnement de python et opencv
Construction de l'environnement Django
Construction d'environnement (python)
construction d'environnement django
construction d'environnement python
Python - Construction de l'environnement
Construction de l'environnement Python
Créer un environnement pour Python et l'apprentissage automatique (macOS)
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
Résumé du didacticiel Python Django
Construction de l'environnement du projet Django
construction d'environnement python homebrew
Construction de l'environnement de développement Python
Construction de l'environnement de développement python2.7
Construction de l'environnement Python @ Win7
Récapitulatif des paramètres d'environnement Python pour moi-même [mac] [ubuntu]
Application Web réalisée avec Python3.4 + Django (Construction de l'environnement Part.1)
[Python] Construction de l'environnement Django (pyenv + pyenv-virtualenv + Anaconda) pour macOS
Construction de l'environnement Python + Anaconda + Pycharm
Mémo de construction de l'environnement de développement Django
Construction de l'environnement Python (Windows10 + Emacs)
Construction de l'environnement CI ~ Édition Python ~
Construction de l'environnement Python pour Mac
Procédure de construction de l'environnement python Anaconda3
Construction de l'environnement Docker + Django + React
Construction de l'environnement Python3 (pour les débutants)
Installez Python 3.7 et Django 3.0 (CentOS)
Construction de l'environnement de NumPy et matplotlib
[MEMO] [Construction de l'environnement de développement] Python
réglage du fuseau horaire et de la langue de django
construction de l'environnement de développement de projet django
Construction de l'environnement de python2 & 3 (OSX)
Jusqu'à ce que Python [Django] de Web service soit publié [Construction de l'environnement]
Résumé de la gestion des versions de l'environnement virtuel Python
Construction de l'environnement Mac + Eclipse (PyDev) + Django
Mémo de construction de l'environnement Python sur Windows 10
Commencez avec Python! ~ ① Construction de l'environnement ~
Python practice_Configuration de l'environnement virtuel ~ Installation de Django
Construction de l'environnement Anaconda Python sous Windows 10
Construction d'un environnement d'apprentissage amélioré Python + Unity
[Django] Mémorandum de procédure de construction d'environnement
J'ai vérifié la construction de l'environnement Mac Python
[Pour les débutants] Django -Construction d'environnement de développement-
Mémo de construction de l'environnement Python sur Mac
Divers paramètres Anaconda dans l'environnement Windows 10
Construction d'environnement Python (pyenv, anaconda, tensorflow)
[Python3] Construction de l'environnement de développement << Édition Windows >>
Construction de l'environnement de développement Python sur macOS
Construction d'environnement Python (pyenv + poetry + pipx)
Récapitulatif de la construction de l'environnement Ml-Agents version 6 (0.19.0) [Windows]
Paramètres Emacs pour l'environnement de développement Python
Construire un environnement pour python3.8 sur Mac
Résumé des paramètres liés aux fichiers statiques (statiques) de Django
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Construction de l'environnement Python3 TensorFlow pour Mac