我正在构建将为多个站点部署的通用模板,我们希望允许的其中一个自定义选项是标题文本的自定义字体。我想将此属性添加到管理界面。 是否有更好的技术,然后为这些属性创建模型并执行Model.objects.get()来检索1个实例。Django管理中的独特属性
在此先感谢
我正在构建将为多个站点部署的通用模板,我们希望允许的其中一个自定义选项是标题文本的自定义字体。我想将此属性添加到管理界面。 是否有更好的技术,然后为这些属性创建模型并执行Model.objects.get()来检索1个实例。Django管理中的独特属性
在此先感谢
我目前从github 实现Django的大块它允许使用的
{% load chunks %}
{% chunk "key" %}
,其中块是关键,值集。
我用这个技术来插入 “动态CSS”,(我的管理可以提供上传自定义字体需要的CSS)
例子: subtitle_font_css
<style>
@font-face {
font-family: "impact";
src: url('/static/fonts/impact.ttf');
}
</style>
subtitle_font
font-family: impact;
现在为html:
<head>
{% load chunks %}
{% chunk "subtitle_font_css" %}
</head>
<body>
{% load chunks %}
<span style="{% chunk "subtitle_font %}"> Title </span>
</body>
我建议使用一个上下文处理器,并且只击中第一个请求的数据库,或者如果你强行触发的设置重新加载。例如:
from project.theme.models import Theme
THEME_SETTINGS = Theme.objects.values().get(id=1) # hits db first request
def theme(request):
if 'reset_theme' in request.GET: # or some other mechanism
THEME_SETTINGS = Theme.objects.values().get(id=1) # reset theme settings
return THEME_SETTINGS
要使用,只需添加上下文处理器TEMPLATE_CONTEXT_PROCESSORS
您的设置。上下文处理器非常简单,它们需要一个RequestContext
并返回一个用于填充RequestContext
的字典。
有趣的做法,我现在就打开线索看看其他意见。 – Valchris 2011-06-08 16:59:50