Je suis tombé sur la sortie d'un diagramme de configuration de table avec l'application Django, alors je l'ai écrit sous forme de mémorandum. J'ai cloné Doccano comme outil d'annotation dans mon travail, mais je veux vérifier la structure de la table. eu. L'environnement de développement Doccano est créé avec Docker.
J'ai utilisé django-extension graph_models pour générer le diagramme ER.
Le fichier docker-compose.yml de Doccano est divisé en développement et production.
python:docker-compose.dev.yml
version: "3.7"
services:
backend:
image: python:3.6
volumes:
- .:/src
- venv:/src/venv
command: ["/src/app/tools/dev-django.sh", "0.0.0.0:8000"]
environment:
ADMIN_USERNAME: "admin"
ADMIN_PASSWORD: "password"
ADMIN_EMAIL: "[email protected]"
DATABASE_URL: "postgres://doccano:doccano@postgres:5432/doccano?sslmode=disable"
ALLOW_SIGNUP: "False"
DEBUG: "True"
ports:
- 8000:8000
depends_on:
- postgres
networks:
- network-backend
- network-frontend
frontend:
image: node:13.7.0
command: ["/src/frontend/dev-nuxt.sh"]
volumes:
- .:/src
- node_modules:/src/frontend/node_modules
ports:
- 3000:3000
depends_on:
- backend
networks:
- network-frontend
postgres:
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_USER: "doccano"
POSTGRES_PASSWORD: "doccano"
POSTGRES_DB: "doccano"
networks:
- network-backend
volumes:
postgres_data:
node_modules:
venv:
networks:
network-backend:
network-frontend:
Nous installerons la bibliothèque à partir d'ici. Ajoutez les trois lignes suivantes à src / requirements.txt.
requirements.txt
graphviz
pydotplus
django-extensions
Je vais lancer le conteneur.
docker-compose -f docker-compose.dev.yml up #Lancement du conteneur
docker ps #Vérifiez le nom du conteneur
docker exec -it doccano_backend_1 bash #Entrez bash
Ensuite, nous travaillerons dans le bash du conteneur.
cd src #Déplacer vers src
pip install -r requirements.txt #Installation de la bibliothèque
apt install graphviz #installation de graphviz
Ajoutez ensuite django_extensions
à INSTALLED_APPS dans app / settings.py.
setting.py
INSTALLED_APPS = [
'whitenoise.runserver_nostatic',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'server.apps.ServerConfig',
'api.apps.ApiConfig',
'widget_tweaks',
'rest_framework',
'rest_framework.authtoken',
'django_filters',
'social_django',
'polymorphic',
'webpack_loader',
'corsheaders',
'drf_yasg',
'django_extensions'← Ajouter
]
Utilisez docker-compose down
pour déposer le conteneur et le redémarrer.
docker-compose -f docker-compose.dev.yml up --force-recreate
Entrez à nouveau le bash du conteneur et sortez le diagramme ER.
docker exec -it doccano_backend_1 bash
cd src #Déplacer vers src
source venv/bin/activate #Entrez dans l'environnement virtuel
cd src/app #manage.Déplacer vers le répertoire où se trouve py
python3 manage.py graph_models -a -g -o graph-model.pdf #Diagramme ER de sortie
Dans Doccano, le conteneur src et ci-dessous sont montés dans le répertoire hôte, vous pouvez donc ouvrir le pdf du côté hôte tel quel.
Recommended Posts