我在Django 1.2.4中遇到了一些奇怪的問題。Django頁面緩存(麻煩db)?
我有一個讓用戶聲明前端設置的頁面。這些設置表示爲以下型號:
class Setting(models.Model):
"""
Maintains a key-value pair for some front-end editable setting.
"""
class Meta:
abstract = True
name = models.CharField(max_length=120, primary_key=True)
description = models.CharField(max_length=300, blank=True)
class IntegerSetting(Setting):
value = models.IntegerField()
class ListSetting(Setting):
value = PickledObjectField(default=lambda: list(), editable=True)
這些設置反映在管理員更改表單中。我已經覆蓋了模板,並提供該設置頁面,如下所示:
{% extends 'admin/change_form.html' %}
{% block extrahead %}
<script type="application/javascript">
var global= {};
global.min_slider = {{min_slider}};
global.max_slider = {{max_slider}};
</script>
{{ block.super }}
{% endblock %}
是從管理類中提供這些值:
class FooAdmin(admin.ModelAdmin):
form = FooAdminForm
min_max = {'min_slider': get_setting("Min Slider Value"), 'max_slider': get_setting("Max Slider Value")}
def change_view(self, request, object_id, extra_context=None):
extra_context = extra_context or {}
extra_context.update(self.min_max)
return super(FooAdmin, self).change_view(request, object_id, extra_context)
我更改設置窗體上的設置後,我沒有看到它更新的任何頁面加載管理員更改表單。但是,在重新啓動dev服務器後,我看到數據很好。
這是怎麼回事?我是否遇到緩存問題?如果它在管理界面緩存,我怎樣才能禁用它只是一個頁面?
如何將設置發送到更改表單模板? – 2011-02-24 07:37:21
@Daniel Roseman OP更新。 – 2011-02-24 16:49:04