Aldryn - DjangoCMS安装“管理插件”中不存在的插件

时间:2015-08-07 19:29:56

标签: python django

我是一个Django n00b,并且使用Aldryn计算我的第一个真正的django网站将是一个好主意!

我已成功安装并实施Aldryn News & Blog。 现在我想安装无法通过Aldryn控制面板下的“管理插件”访问的Aldryn Search

我对如何安装像Aldryn Search这样无法从“管理插件”中访问的插件感到困惑。我应该以某种方式使用“添加自定义插件”并将包注册为新的自定义插件。

或者我应该创建一个本地开发环境并以某种方式安装插件并上传它? (它是否存在这方面的教程?)

谢谢!

2 个答案:

答案 0 :(得分:1)

有多种方法可以将任意Django软件包安装到Aldryn项目中。

快捷方便

最简单,最快捷的方法就是将您需要的模块放入项目目录中,从而将它们放在Python路径上。然后,您需要确保已正确配置settings.pyurls.py等。然后,您可以将这些更改推送到Aldryn本身。这在Adding a new application to your Aldryn project - the quick and easy way

中有所描述

create-an-Addon方式

更有效的方法是将包装变成私人或公共的Aldryn Addon,这有利于长期使用和重复使用。这在Developing an Addon application for Aldryn

中有所描述

中途

另一种方式介于两者之间。将包添加到项目的requirements.in - 您可以通过各种方式执行此操作,例如:

# standard install from PyPI
some-package==1.2.3  

# install from an archive
https://example.com/some-package1.2.3.tar.gz#egg=some-package==1.2.3  

# install from a GitHub repository
git+http://git@github.com/some-org/some-package.git#egg=some-package==1.2.3  

您需要确保settings.pyurls.py等已正确配置。

运行aldryn project update。这实际上是在本地重新部署您的项目,除了:

docker-compose run --rm web python manage.py migrate - 您需要手动运行任何迁移,与Aldryn不同。

最后,git addcommitpush您对项目的更改,并将其重新部署到Aldryn。

这种方法尚未在Aldryn支持系统中记录,但很快就会记录下来。

答案 1 :(得分:0)

在我看来,这是一个非常有效的问题,因为附加组件被包装到另一个目录中,使django应用程序内部对Django的INSTALLED_APPS不可见。

如果将它们添加到addons-dev,git会忽略它们。

一个可能的解决方案(即使可能不是最干净的)也可以通过将!/addons-dev添加到项目根目录中的.gitignore来unignore addons-dev,然后将-e /app/addons-dev/aldryn-package-name添加到需求中.in(在Aldryn生成/覆盖的部分之外)。这就是aldryn project develop aldryn-package-name所做的(对于当地环境)。

同样,如果你有一个包含代码的git存储库(比如aldryn-search),你可以在-e git+https://github.com/aldryn/aldryn-search.git中使用requirements.in

如果您需要对插件代码应用更改,最佳做法是分支原始存储库,然后按照上述说明检查您的分支。