如何使 Django 应用程序可插拔?
-
03-07-2019 - |
题
举例来说,我有一个博客应用程序,我希望能够将其放入不同的项目中,但我总是希望该博客与其他模型相关联。例如,在一种情况下,我可能希望它与用户关联:
site.com/someuser/blog
但在另一个网站上,我希望它与学校相关联:
site.com/someschool/blog
有没有一种方法可以使博客应用程序可插入,这样每当我将其放入项目中时就无需重新定义模型(添加外键字段)?
解决方案
您可能想要查看ContentTypes框架,我用它来创建一个评论应用程序,可以用来评论数据库中的任何模型(出于不同的原因,我不想使用标准的django评论应用程序)
http://docs.djangoproject.com/en/dev/ REF /了contrib / CONTENTTYPES /
其他提示
有几个重要的细节可以确保应用程序可以重复使用,我认为最好链接到有关该主题的两组更重要的文档:
通用关系让您拥有任何其他模型的外键。但是,从您的问题中不清楚您希望外键链接到哪种类型的对象。我怀疑外键关系并不是真正的通用 - 你只是没有发现你的系统的另一部分也可能是一个可重用的应用程序。
不隶属于 StackOverflow