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

Mat*_*kob 6 python django django-forms django-admin

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

这可能吗?

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

Car*_*yer 5

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


Pau*_*lan 4

这听起来像是站点框架旨在帮助解决的问题。

\n

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

\n

“它\xe2\x80\x99是一个用于将对象和功能与特定网站关联起来的钩子,它\xe2\x80\x99是域名和\xe2\x80\x9cverbose\xe2\x80\x9d名称的保存位置。您的 Django 驱动的网站。”

\n

文档听起来好像它只适用于多个站点,但它也是将内容放入单个站点每个 django 模型中的好地方。

\n