【问题标题】:Cache problem with Django formsDjango 表单的缓存问题
【发布时间】:2011-04-07 19:54:02
【问题描述】:

我在 django 中填充表单选择字段的选择,这是一个年份选择字段,我从数据库中获取年份并将它们放入字段中的元组列表中。我的代码是这样的

def get_years():
    choices = []
    years = []
    for en in Encuesta.objects.all().order_by('fecha'):
        years.append(en.fecha.year)
    for year in list(set(years)):
        choices.append((year, year))
    return choices

我的表单域看起来像这样

year = forms.ChoiceField(choices=get_years())

问题是当我在浏览器中看到它时,根据数据库,年份列表很好,但是当我更改数据库中的某个日期时,年份选择列表不会更新。我试过宽度 @cache_control(no_cache=True) 装饰器,但不起作用。我能做些什么??

提前致谢!

【问题讨论】:

    标签: javascript python django cache-control browser-cache


    【解决方案1】:

    在初始化表单实例时更新年份。

    def __init__(self, *args, **kwargs):
       super(MyForm, self).__init__(*args, **kwargs)
       self.fields['year'].choices = self.get_years()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-19
      • 2014-04-11
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      相关资源
      最近更新 更多