2016-04-16 14 views
1

Ich habe einige Anwendungen, die ich gerne statisch in meine djangoCMS-Vorlagen auf Aldryn aufnehmen würde. Ich halte es nicht für sinnvoll oder notwendig, sie als Addons im Aldryn Control Center zu registrieren, da diese Apps spezifisch für das Projekt sind.Aldryn - wie man eigene Django-Apps und ihre Abhängigkeiten hinzufügt

Was ist der beste Weg, sie einzubeziehen und wo sollte ich ihre Abhängigkeiten angeben, die ich normalerweise zu requirements.txt hinzufügen?

Meine aktuelle Lösung ist das Hinzufügen/addons-dev/meine apps git und fügen Sie es (/ addons-dev/django-app/django_app /)

Antwort

2

Wo projektspezifischen Python-Code setzen?

Projektspezifische Anwendungen können im Stammverzeichnis des Projekts platziert werden - das funktioniert einfach "out of the box". Wenn es viele solche Apps gibt, kann das allerdings ein wenig unordentlich sein. Aber es ist einfach, dem PYTHONPATH ein zusätzliches Verzeichnis hinzuzufügen. In der Dockerfile hinzufügen: ENV PYTHONPATH /app/src:$PYTHONPATH. Der Beginn des Dockerfile sollte wie folgt aussehen:

# <DOCKER_FROM> # Warning: text inside the DOCKER_FROM tags is auto-generated. Manual changes will be overwritten. 
FROM aldryn/base-project:3.1.0 
# </DOCKER_FROM> 

# add the "src" folder to the PYTHONPATH 
ENV PYTHONPATH /app/src:$PYTHONPATH 

# <DOCKER_BUILD> # Warning: text inside the DOCKER_BUILD tags is auto-generated. Manual changes will be overwritten. 

# node modules 
[....] 

Nach dieser Änderung muss das Docker Bild neu aufgebaut werden: docker-compose build web

Wie externe Projektabhängigkeiten installieren?

Externe projektspezifische Anforderungen können zu requirements.in hinzugefügt werden. Es ist dem requirements.txt sehr ähnlich, wird aber mit dem Befehl pip-compile von pip-tools vorverarbeitet.

Stellen Sie sicher, benutzerdefinierte Abhängigkeiten außerhalb der

# <INSTALLED_ADDONS> 
... 
# </INSTALLED_ADDONS> 

-Tags zu setzen, da dieser Teil der Datei automatisch beibehalten wird und wird automatisch mit den Anforderungen überschreibt, die in der Benutzeroberfläche ausgewählt wurden.

Wenn Änderungen in dieser Datei aufgenommen werden sollen, erstellen Sie das Andock-Image neu: docker-compose build web

Verwandte Themen