[DOCKER] Sortie de la structure de table dans Django

introduction

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.

Bibliothèque à utiliser

J'ai utilisé django-extension graph_models pour générer le diagramme ER.

procédure

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.

Articles référencés

Recommended Posts

Sortie de la structure de table dans Django
Renommer les colonnes de table dans Django3
Modèle dans Django
Arborescence de sortie des fichiers en Python
création de table django
Formulaire à Django
Sortie PDF avec Django
Sortie Markdown avec Django
Table de décalage Django Python
Modifications du modèle dans Django
Définition de table dans SQL Alchemy
Structure de type langage C en Python
Sortie japonaise avec Python
[Django] Perform Truncate Table (supprimer toutes les données de la table)
Optimisation des performances dans Django 3.xx
PHP comme var_dump dans le template Django
Gérer les constantes dans les modèles Django
Définir le format de sortie du type DateTime dans le modèle Django
Implémenter la fonction de suivi dans Django
J'ai fait une commande pour générer un commentaire pour une table dans Django
(Note) Django dans l'environnement Vagrant
[Django] Pratique de la structure des répertoires + notes
Afficher Django ManyToManyField dans un modèle
Lire la sortie Fortran avec python
J'ai créé un programme de sortie de table de nombres premiers dans différentes langues
recharger dans le shell django avec ipython
Mettre en œuvre un test piloté par table en Java
Définir des espaces réservés dans les champs de saisie dans Django
8 commandes fréquemment utilisées dans Python Django
Ajouter dynamiquement des champs de formulaire dans Django
Implémentation de la fonction de connexion dans Django
Enregistrer l'application Django dans le projet
Rendre la sortie standard non bloquante en Python
Ecrire des contraintes de clé externe dans Django
Comment refléter CSS dans Django
Changer la langue affichée dans Django 1.9
[Django] Commande pour générer QuerySet en csv
Exporter et exporter des fichiers en Python
Déployez Django en 3 minutes à l'aide de docker-compose
Épingler la valeur de départ factory_boy dans Django
API GraphQL utilisant graphene_django dans Django
Implémentation du bouton like dans Django + Ajax
Récupérer la chaîne de requête (chaîne de requête) avec Django
Créer un bot LINE avec Django
Ajout d'une fonction pour enregistrer les décalages souhaités dans la table des décalages Django