允许我的Django应用程序使用“第三方”插件,而不需要进行配置更改吗?

2024-04-25 19:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道一个好的方法,或者编程“模式”来应用,允许我的Django应用程序的用户为我的应用程序添加“插件”或“扩展”,而不必添加任何东西到“已安装的应用程序”或编辑任何配置。在

WordPress插件可能是最好的例子。新的选项/设置/菜单变得可用,但我不必编辑WordPress配置或核心文件-它们只会出现在我的管理员中。在

在Django/Python中,您将使用什么方法或编程“模式”来开始开发一种类型的插件架构?

关于插件的问题,我的问题是关于插件本身的,而不是关于插件的开发。在

具体地说,我的应用程序接受“内容”,我想为用户提供一种方式,让他们加入模块化的“变形金刚”,提供额外的该内容的输出(不仅仅是一个过滤器),这些内容可能需要也可能不需要接受一些基本设置。在


Tags: 文件django方法用户插件应用程序编辑内容
1条回答
网友
1楼 · 发布于 2024-04-25 19:22:57

我的建议是使用Django信号系统。你的应用程序应该在某些动作发生时发送信号,然后在下一阶段发生时监听它们。如果有人想改变你的应用程序的行为,他们需要做的就是倾听你的应用程序发出的相关信号,并适当地修改数据。在

这允许非常容易的扩展和更改应用程序,甚至不需要接触你的应用程序源代码。在

我想说的是,如果有人正在使用你的应用程序,它不太可能安装在项目文件夹中,所以要求他们把代码放在你的应用程序文件夹是一个坏主意。它很可能会作为一个模块安装在virtualenv中。使用我上面概述的signals方法,使用你的应用程序的人就可以在他们的项目中添加应用程序中的处理程序,这是最有意义的。因此,他们不需要接触你的应用程序源代码目录。在

网友
2楼 · 发布于 2024-04-25 19:22:57

pypi中有一个django插件,它允许你定义“插件点”,这使得你的应用更容易拥有插件。在

参见: http://pypi.python.org/pypi/django-plugins

相关问题 更多 >