У меня странная проблема в Django 1.2.4.
У меня есть страница, которая позволяет пользователю объявлять настройки интерфейса. Эти настройки представлены в следующих моделях:
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, я вижу данные просто отлично.
Что здесь происходит? Я сталкиваюсь с проблемой кеширования? Если это кеширование в интерфейсе администратора, как я могу отключить его только для этой одной страницы?