Python Django:强制重新加载文件以更新值

Python Django:强制重新加载文件以更新值,python,django,file,caching,django-1.7,Python,Django,File,Caching,Django 1.7,我有一个文件,其中存储4位(例如“0100”),前三位对应传感器状态。我想读这个价值观;它只工作一次:当我更改值时,当我在模板中显示这些值时,它们不会更新。我必须重新启动服务器以获取更新的值,因此我认为这是一个缓存错误。获取传感器状态的我的代码(如果您需要其他代码,如“我的视图”或“其他询问我”): 读取值的代码(此代码有效,我在代码的另一部分中使用它): 那么,如何更新文件中的值呢?如果我必须清除或禁用缓存,这并不重要,这是一个小程序 谢谢,对不起,我的英语是法语。如何关闭和重新打开文件?正如

我有一个文件,其中存储4位(例如“0100”),前三位对应传感器状态。我想读这个价值观;它只工作一次:当我更改值时,当我在模板中显示这些值时,它们不会更新。我必须重新启动服务器以获取更新的值,因此我认为这是一个缓存错误。获取传感器状态的我的代码(如果您需要其他代码,如“我的视图”或“其他询问我”):

读取值的代码(此代码有效,我在代码的另一部分中使用它):

那么,如何更新文件中的值呢?如果我必须清除或禁用缓存,这并不重要,这是一个小程序


谢谢,对不起,我的英语是法语。

如何关闭和重新打开文件?正如您在我的代码中看到的,我使用pickle的“with”语法:with open(data_file_path,“rb”)作为ft:f=pickle.load(ft)在读取结束时关闭文件,ft.closedNo即使我手动关闭文件(但使用“with”语法我们不必这样做)它不工作。我手动编辑文件,没有Django页面,因此Django可能没有检测到文件已更改?如何更新文件中的值?在尝试从文件中读取更新后的值之前,该值是否已更新?
def get_sensor(s):
    if s is not None:
        if s == "open":
            if s_open == 1:
                return True
            else:
                return False

        elif s == "close":
            if s_close == 1:
                return True
            else:
                return False

        elif s == "ir":
            if s_ir == 1:
                return True
            else:
                return False
with open(data_file_path, "rb") as ft:
    f = pickle.load(ft)
s_open = f[0]
s_close = f[1]
s_ir = f[2]