Aldryn - 如何添加自己的 Django 应用程序及其依赖项
Aldryn - how to add own Django apps and its dependencies
我有一些应用程序想静态包含到我在 Aldryn 上的 djangoCMS 模板中。我认为在 Aldryn 控制中心将它们注册为插件没有好处或必要,因为这些应用程序特定于项目。
包含它们的最佳方式是什么?我应该在哪里指定我通常添加到 requirements.txt 的依赖项?
我目前的解决方案是将 /addons-dev/ 添加到 git 并在那里添加我的应用程序 (/addons-dev/django-app/django_app/)
将项目特定 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>
tags,因为文件的这一部分是自动维护的,并且会被 UI 中选择的要求自动覆盖。
要获取此文件中的更改,请重建 docker 映像:docker-compose build web
我有一些应用程序想静态包含到我在 Aldryn 上的 djangoCMS 模板中。我认为在 Aldryn 控制中心将它们注册为插件没有好处或必要,因为这些应用程序特定于项目。
包含它们的最佳方式是什么?我应该在哪里指定我通常添加到 requirements.txt 的依赖项?
我目前的解决方案是将 /addons-dev/ 添加到 git 并在那里添加我的应用程序 (/addons-dev/django-app/django_app/)
将项目特定 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>
tags,因为文件的这一部分是自动维护的,并且会被 UI 中选择的要求自动覆盖。
要获取此文件中的更改,请重建 docker 映像:docker-compose build web