正在更新flask上的浏览器缓存



我有一个小烧瓶服务器,我运行的主要目的是进行实验,以及我正在开发的自用工具(在我的家庭网络上(。它在树莓派机器上以开发模式运行。它被配置为通过rc.local:在启动时启动

sudo -H -u pi /home/pi/Server/start.sh &

CCD_ 2文件读取

#!/bin/bash
cd /home/pi/Server
source /home/pi/Server/venv/bin/activate
export FLASK_APP=/home/pi/Server/app.py
export FLASK_ENV=development
export FLASK_RUN_HOST=192.168.1.104
export FLASK_RUN_PORT=5001
flask run

在最初的几天里,一切都很好,但现在我出现了以下错误:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/lib/python3/dist-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/flask/_compat.py", line 35, in reraise
raise value
File "/usr/lib/python3/dist-packages/flask/app.py", line 2291, in wsgi_app
ctx.push()
File "/usr/lib/python3/dist-packages/flask/ctx.py", line 377, in push
self.app, self.request
File "/usr/lib/python3/dist-packages/flask/sessions.py", line 343, in open_session
data = s.loads(val, max_age=max_age)
File "/usr/lib/python3/dist-packages/itsdangerous.py", line 643, in loads
.unsign(s, max_age, return_timestamp=True)
File "/usr/lib/python3/dist-packages/itsdangerous.py", line 466, in unsign
return value, self.timestamp_to_datetime(timestamp)
File "/usr/lib/python3/dist-packages/itsdangerous.py", line 404, in timestamp_to_datetime
return datetime.utcfromtimestamp(ts + EPOCH)
OverflowError: timestamp out of range for platform time_t

据我所见,这是浏览器缓存的问题。我该如何告诉烧瓶来处理这个问题?

看起来您在使用会话/cookie?试着调查一下,也许日期不合适或无效。尝试清除它session.clear()或使用较短的到期日期。从python 2升级到3后,我也遇到了一些问题,这些问题把cookie搞砸了,如果你已经这样做了,你需要清除你的缓存,这样才能设置python3日期/时间cookie。

当Adafruit CircuitPython NTP问题返回的时间为0时,这似乎是一个错误。一种直接的方法是用PR修补一些烧瓶依赖关系。

然而,这似乎更多的是你的缓存年龄的错误。尝试将其减少为短时间

@app.after_request
def after_request(response):
response.headers["Cache-Control"] = "max-age=300" # in second
return response

最新更新