Aldryn - 如何添加自己的Django应用程序及其依赖项

时间:2016-04-16 13:29:32

标签: python django divio

我有一些应用程序,我想静态地包含在Aldryn的djangoCMS模板中。我不认为在Aldryn控制中心将它们注册为插件是有益的或必要的,因为这些应用程序是特定于项目的。

包含它们的最佳方法是什么?我应该在哪里指定我通常添加到requirements.txt的依赖项?

我目前的解决方案是添加/ addons-dev /到git并在那里添加我的应用程序(/ addons-dev / django-app / django_app /)

1 个答案:

答案 0 :(得分:2)

在哪里放置项目特定的python代码?

项目特定的应用程序可以放在项目的根目录中 - 只需开箱即用。如果有很多这样的应用程序可能会有点混乱。但是很容易为PYTHONPATH添加额外的目录。在Dockerfile添加:ENV PYTHONPATH /app/src:$PYTHONPATH。 Dockerfile的开头应该如下所示:

# <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
[....]

此更改后,需要重建docker镜像:docker-compose build web

如何安装外部项目依赖项?

可以将外部项目特定要求添加到requirements.in。它与requirements.txt非常相似,但使用pip-tools中的pip-compile命令进行预处理。

确保将自定义依赖项置于

之外
# <INSTALLED_ADDONS>
...
# </INSTALLED_ADDONS>

标签,因为该部分文件是自动维护的,并且会根据UI中选择的要求自动覆盖。

要获取此文件中的更改,请重建泊坞窗图像:docker-compose build web