J'ai une application de tableau de bord multi-pages qui fonctionne comme prévu lors de son exécution localement avec:
serveuse-serveuse --listen = 0.0.0.0: 80 web_app.wsgi: application
pour que tous les éléments du dossier des ressources se chargent correctement, les images sont chargées avec src = app.get_asset_url ('xyz.png')
et ont défini app. css.config.serve_locally
à true
, comme indiqué ici tout se charge fonctionne
Mais lors du chargement de la même application dans un conteneur Docker, les éléments ne se chargent pas ne fonctionne pas et donc le css local ne se charge pas non plus.
J'ai vérifié les fichiers et les dossiers dans le docker et tout est là où il devrait être.
Je suppose que je manque quelque chose quelque part mais je ne trouve pas quoi, des suggestions sur la façon de le faire fonctionner?
Dockerfile
version: "3" services: web_app: image: patber/gtg:dev build: . command: > waitress-serve --listen=0.0.0.0:80 web_app.wsgi:application environment: PYTHONUNBUFFERED: 'true' volumes: - '.:/web_app' ports: - '80:80'
3 Réponses :
Nous avons trouvé une solution pour les fichiers CSS ici .
app.css.append_css({"external_url": "./assets/xyz.css"})
J'ai rencontré le même problème et la solution fournie ici est correcte mais vous devez également ajouter:
external_stylesheets=["./assets/stylesheet.css"] app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
De plus, au lieu d'ajouter, vous pouvez ajouter la feuille de style par:
XXX
Ce n'est pas génial, mais si vous avez besoin de servir des choses autres que css, vous pouvez également utiliser les options des sources externes:
app = dash.Dash( __name__, assets_external_path='http://your-external-assets-folder-url/' )
J'ai rencontré cela avec une image, et c'est la meilleure solution (actuelle = 30 janvier 2020) que je connaisse.
pourriez-vous partager comment avez-vous construit l'image du docker?
Message mis à jour avec les fichiers docker