Ich bin auf die Ausgabe eines Tabellenkonfigurationsdiagramms mit der Django-App gestoßen und habe es als Memorandum geschrieben. Ich habe Doccano als Anmerkungswerkzeug in meiner Arbeit geklont, möchte aber überprüfen, wie die Tabelle strukturiert ist. hätten. Die Doccano-Entwicklungsumgebung wird mit Docker erstellt.
Ich habe die [graph_models] von django-extension (https://django-extensions.readthedocs.io/en/latest/graph_models.html) verwendet, um das ER-Diagramm auszugeben.
Doccanos docker-compose.yml ist in Entwicklung und Produktion unterteilt.
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:
Wir werden die Bibliothek von hier aus installieren. Fügen Sie die folgenden drei Zeilen zu src / require.txt hinzu.
requirements.txt
graphviz
pydotplus
django-extensions
Ich werde den Container starten.
docker-compose -f docker-compose.dev.yml up #Container starten
docker ps #Überprüfen Sie den Containernamen
docker exec -it doccano_backend_1 bash #Bash eingeben
Als nächstes werden wir in der Bash des Containers arbeiten.
cd src #Gehen Sie zu src
pip install -r requirements.txt #Bibliotheksinstallation
apt install graphviz #Installation von graphviz
Fügen Sie dann "django_extensions" zu INSTALLED_APPS in app / settings.py hinzu.
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'← Hinzufügen
]
Verwenden Sie "Docker-Compose Down", um den Container fallen zu lassen und erneut zu starten.
docker-compose -f docker-compose.dev.yml up --force-recreate
Geben Sie die Bash des Containers erneut ein und geben Sie das ER-Diagramm aus.
docker exec -it doccano_backend_1 bash
cd src #Gehen Sie zu src
source venv/bin/activate #Betreten Sie die virtuelle Umgebung
cd src/app #manage.Wechseln Sie in das Verzeichnis, in dem sich py befindet
python3 manage.py graph_models -a -g -o graph-model.pdf #ER-Diagramm ausgeben
In Doccano werden der Container src und darunter im Hostverzeichnis bereitgestellt, sodass Sie das PDF von der Hostseite aus öffnen können.
Recommended Posts