J'ai créé une application Todo, qui est représentative du tutoriel, avec Django. J'ai l'intention de l'écrire avec le plus de détails possible en termes de signification du code.
Ceux qui veulent se lancer avec django
Créer une application Todo avec Django ① Créer un environnement avec Docker Créer une application Todo avec Django ② Créer une page de liste de dossiers Créer une application Todo avec Django ③ Créer une page de liste de tâches Création de l'application Todo avec Django ④ Implémentation de la fonction de création de dossier et de tâche Création d'une application Todo avec Django ⑤ Création d'une fonction d'édition de tâches
--Page de création de dossier
Page de création de tâches
Page de modification de la tâche
--Fonction de création de tâches
Cela ressemble à ceci lorsque les fonctions sont grossièrement classées! Faisons-le!
Créez la structure de répertoires suivante.
django_todo
├── docker-compose.yml
├── dockerfile
├── manage.py
├── requirements.txt
└── django_todo
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-38.pyc
│ ├── settings.cpython-38.pyc
│ ├── urls.cpython-38.pyc
│ └── wsgi.cpython-38.pyc
├── settings.py
├── urls.py
└── wsgi.py
** 1. Création d'un répertoire de travail **
$ mkdir django_todo
$ cd django_todo
** 2. Créez un fichier docker, requirements.txt ** Créez Dockerfile, docker-compose.yml et requirements.txt dans le répertoire django_todo.
$ touch Dockerfile docker-compose.yml requirements.txt
3.Dockerfile Décrivez comme suit dans Dockerfile, docker-compose.yml, requirements.txt.
Dockerfile
#Spécifiez l'image de base
FROM python:3
#Réglage de ne pas conserver les données dans la mémoire tampon(Tout caractère n'a pas besoin d'être 1)
ENV PYTHONUNBUFFERED 1
#Créer un répertoire à l'intérieur du conteneur
RUN mkdir /code
#Spécifiez le répertoire de travail
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
Docker-compose.yml
#Spécifiez la version du fichier yml
version: '3'
#Définir le conteneur
services:
web:
#Construire Dockerfile
build: .
command: python3 manage.py runserver 0.0.0.0:8000
#Spécification de l'emplacement de montage
volumes:
- .:/code
ports:
- "8000:8000"
#Spécifiez pour démarrer après le démarrage du service de base de données
depends_on:
- db
db:
image: postgres
ports:
- "5432"
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
requirements.txt
Django>=2.0,<3.0
psycopg2>=2.7,<3.0
En écrivant requirements.txt, vous pouvez installer les packages décrits dans un lot avec la version spécifiée.
** 4. Création d'un projet Django **
$ docker-compose run web django-admin.py startproject django_todo .
Cela indique à Compose d'exécuter django-admin.py startproject django_todo à l'intérieur du conteneur. En conséquence, la structure du répertoire sera la suivante.
django_todo
├── Dockerfile
├── django_todo
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── docker-compose.yml
├── manage.py
└── requirements.txt
** 5. Paramètres de la base de données ** La base de données utilise postgresql. Modifiez django_todo / setting.py pour configurer la base de données. DATABASES = ... ALLOWED_HOSTS =... Au suivant.
setting.py
ALLOWED_HOSTS = ['localhost']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
** 6. Construire l'image, créer / démarrer le conteneur ** Utilisez les commandes suivantes pour créer une image et créer / démarrer un conteneur.
$ docker-compose up --build
** 7. Construction de l'environnement terminée! ** ** http://localhost:8000/ Si vous accédez et que l'écran suivant s'affiche, c'est OK!
$ docker-compose run web python3 manage.py migrate
Lorsque cette commande est exécutée, la migration sera effectuée comme suit.
Exécutez la commande suivante pour créer l'application.
$ docker-compose run web python3 manage.py startapp todo
La structure des répertoires après exécution est la suivante.
django_todo
├── Dockerfile
├── django_todo
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ ├── settings.cpython-38.pyc
│ │ ├── urls.cpython-38.pyc
│ │ └── wsgi.cpython-38.pyc
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── docker-compose.yml
├── manage.py
├── requirements.txt
└── todo
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
Une fois que vous avez créé votre application, vous devez dire à Django de l'utiliser. Pour ce faire, ajoutez todo
à INSTALLED_APPS dans django_todo / settings.py
. Donc, settings.py
ressemble à ceci:
setting.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'todo',
]
Définissez également le fuseau horaire, la langue et le chemin du fichier statique comme suit.
setting.py
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
setting.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
C'est la fin de la construction de l'environnement! Le code jusqu'à présent peut être trouvé dans la Branche du chapitre1 du référentiel. Dans le chapitre suivant, nous allons implémenter l'affichage de la liste des dossiers! Créer une application Todo avec Django ② Créer une page de liste de dossiers
Créer une application Todo avec Django ① Créer un environnement avec Docker Créer une application Todo avec Django ② Créer une page de liste de dossiers Créer une application Todo avec Django ③ Créer une page de liste de tâches Création de l'application Todo avec Django ④ Implémentation de la fonction de création de dossier et de tâche Création d'une application Todo avec Django ⑤ Création d'une fonction d'édition de tâches
Recommended Posts