我有一个Django应用程序,它从一个文本文件中填充内容,并以标准形式使用initial选项填充内容。该文件在服务器上得到更新,但当表单刷新时,它会从先前保存的版本或重新加载apachewebserver之前的版本中获取内容。你知道吗
这意味着文件正在被缓存,内容是从错误的缓存中提取的,而不是新文件。你知道吗
这是我的密码。如何确保每次spamsource函数都从最近保存的文件而不是缓存中获取内容。你知道吗
def spamsource():
try:
f= open('center_access', 'r')
read=f.read()
# some manipulation on read
f.close()
return read
except IOError:
return "prono.nr"
class SpamForm(forms.Form):
domains =forms.CharField(widget=forms.Textarea(attrs=attrs_dict),
label=_(u'Domains to be Banned'), initial= spamsource())
def function(request):
# It writes the file center_access based on the changes in the textbox domains
我修好了。问题是所有缓存中间件都存在于设置.py,用于加速web应用程序的另一面。你知道吗
问题很简单,字段的所有参数都是在表单定义时计算的。因此,
domains
的初始值被设置为在定义表单时(通常是在服务器启动时)从spamsource()
返回的值。你知道吗解决这个问题的一种方法是重写表单的
__init__
方法,并在那里设置域的初始值:或者,可以在视图中实例化窗体时设置初始值:
相关问题 更多 >
编程相关推荐