Django管理站点:如何实现全局变量的单例?

0 投票
3 回答
1138 浏览
提问于 2025-04-16 05:26

有没有人有过使用Django 1.x(最好是1.3)实现一种单例的经验?这个单例可以在管理页面上访问,用来编辑一些全局变量,比如网站名称、关键词等等。我找不到类似的东西,听起来真让人难以置信!

谢谢!

(django-preferences在1.x版本上不能用)

3 个回答

-1

尽量少用单例模式。

单例模式真的那么糟糕吗?

单例模式到底有什么不好?

在Django的管理后台,你可以编辑网站名称(查看django.contrib.sites模块)。

说到关键词,重复使用是不好的,所以最好把它放在你的项目模型里(比如页面、新闻文章等)。

你能多给一些例子说明你需要这个做什么吗?

0

经过一番尝试,我终于让数据库设置正常工作了……不过还是有一些小问题:

  • Aptana不把导入的设置当作有效的引用。
  • 当我访问我创建的模型的设置页面,并尝试保存时,出现了一个错误:CSRF token missing or incorrect.(缺少或不正确的CSRF令牌)。

注意:官方的googlecode仓库在1.3版本上不太好用,而Daniel的版本可以正常工作(我猜他改动了newforms变成了forms等等)。我创建设置视图的新模型的方法是:

from django.db import models
import dbsettings

class ImageLimits(dbsettings.Group):
        maximum_width = dbsettings.PositiveIntegerValue()
        maximum_height = dbsettings.PositiveIntegerValue()
options = ImageLimits()
0

正如lazerscience所说,你可能需要用到Django-dbsettings。我在Github上有一个分支,这个分支可以和最新的Django版本一起使用。

撰写回答