我是一个Django n00b,并且使用Aldryn计算我的第一个真正的django网站将是一个好主意!
我已成功安装并实施Aldryn News & Blog
。
现在我想安装无法通过Aldryn控制面板下的“管理插件”访问的Aldryn Search。
我对如何安装像Aldryn Search这样无法从“管理插件”中访问的插件感到困惑。我应该以某种方式使用“添加自定义插件”并将包注册为新的自定义插件。
或者我应该创建一个本地开发环境并以某种方式安装插件并上传它? (它是否存在这方面的教程?)
谢谢!
答案 0 :(得分:1)
有多种方法可以将任意Django软件包安装到Aldryn项目中。
最简单,最快捷的方法就是将您需要的模块放入项目目录中,从而将它们放在Python路径上。然后,您需要确保已正确配置settings.py
,urls.py
等。然后,您可以将这些更改推送到Aldryn本身。这在Adding a new application to your Aldryn project - the quick and easy way。
更有效的方法是将包装变成私人或公共的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.py
,urls.py
等已正确配置。
运行aldryn project update
。这实际上是在本地重新部署您的项目,除了:
docker-compose run --rm web python manage.py migrate
- 您需要手动运行任何迁移,与Aldryn不同。
最后,git add
,commit
和push
您对项目的更改,并将其重新部署到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
如果您需要对插件代码应用更改,最佳做法是分支原始存储库,然后按照上述说明检查您的分支。