Django管理站点:如何为全局设置创建单个页面?

时间:2010-10-06 01:31:59

标签: python django django-admin django-forms

我想在django的管理站点中创建一个页面,我可以在其中更改网站的一些全局变量(网站标题,导航菜单中的项目等)。目前我将它们编码为上下文处理器,但我想让它们可编辑。类似于WordPress中发生的事情。

这可能吗?

  • 我可以将数据存储在数据库中,但是我可以在管理站点中有一个直接连接到第一个文档记录的链接,并且不允许创建多个记录(它们没有意义)
  • 不是在数据库中创建模型,而是可以从管理站点更改一些context_processor(我认为这是最好的)

3 个答案:

答案 0 :(得分:3)

django-preferences完全符合您的要求。实现有点hacky(特别是在模型类上设置__module__以欺骗Django认为它是从不同的应用程序加载的),但它可以工作。

答案 1 :(得分:2)

有一个名为django-values的应用程序,允许您在数据库中存储特定设置。

答案 2 :(得分:1)

这听起来像网站框架旨在帮助。

http://docs.djangoproject.com/en/dev/ref/contrib/sites/

“它是将对象和功能与特定网站相关联的钩子,它是Django支持的站点的域名和”详细“名称的保留位置。”

这些文档听起来似乎只对多个网站有用,但它也是将内容放入单站点每个django模型的好地方。