【问题标题】:Django Global Site Configuration in Admin管理员中的 Django 全局站点配置
【发布时间】:2013-07-23 11:53:40
【问题描述】:

我正在尝试让我正在开发的网站的内容管理器在 django 应用程序的管理部分编辑全局设置。对于全局设置,我的意思是:网站标题、Twitter 链接、Facebook 链接、横幅、徽标等...

目前我有一个Settings 模型,其中包含我需要的所有字段。但是,它的结构方式允许我在数据库中有多个设置实例,即使我只想要一个。

如何强制只有一个设置实例,从而绕过创建设置实例的这一步骤并直接转到唯一重要的实例?

谢谢。

附:我也查看了django-settings module,但这不符合我的目的。

【问题讨论】:

  • 可能有很多技巧可以用于此目的,但更根本的解决方法是不使用 django 管理员。它专门用作数据集的 CRUD 接口……具有多个记录的事物。我会为此创建一个独立页面,该页面始终通过硬编码 ID 检索相同的设置实例。
  • 我明白你在说什么。不过我想保持相同的界面。因此,在 django 管理员中寻找解决方案。你愿意分享一些你说的黑客吗?谢谢。
  • 请参阅 stackoverflow.com/questions/2138408/… 了解将自己限制为设置模型的单个实例的方法。
  • 在我的公司,我们已经构建了一些东西来解决这个问题。用于修改 django 设置文件的 Web 界面。建造这个的人现在不可用,但是有这个blog,里面有所有的细节。让我知道它是否对您有帮助。
  • Settings 覆盖ModelAdmin 以仅获取唯一的对象是我要做的,不过代码很多。

标签: django django-admin


【解决方案1】:

一种方法是使用您的设置内联扩展站点模型。您可以将内联实例的数量限制为一个,并且仅加载 settings.py 中指定的站点,从而有效地为您提供一个存储“设置”的单例。

【讨论】:

    猜你喜欢
    • 2015-05-24
    • 1970-01-01
    • 2011-04-21
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    相关资源
    最近更新 更多