小编moe*_*sal的帖子

如何保存和编辑服务器渲染数据?

我正在使用带有 python 的 Flask 服务器。

我有一个整数pics_to_show。每次收到请求时,用户都会收到pics_to_show整数。并且pics_to_show递减 1。 pics_to_show是一个与所有网站用户共享的整数。我可以制作一个数据库来保存它,但我想要更简单和灵活的东西。有没有其他方法可以保存这个整数。

我制作了一个将此类变量保存在 JSON 文件中的类。


class GlobalSate:
    def __init__(self, path_to_file):
        self.path = path_to_file
        try:
            open(path_to_file)
        except FileNotFoundError:
            f = open(path_to_file, 'x')
            f.write('{}')

    def __getitem__(self, key):
        file = self.load_file()
        data = json.loads(file.read())
        return data[key]

    def __setitem__(self, key, value):
        file = self.load_file()
        data = json.loads(file.read())
        data[key] = value
        json.dump(data, open(self.path, 'w+'), indent=4)

    def load_file(self):
        return open(self.path, 'r+')
Run Code Online (Sandbox Code Playgroud)

这个类当然过于简化了。我在 中初始化一个实例__init__.py并将其导入所有路由文件(我使用的是 BluePrints)。

我的应用程序是线程化的,所以这个类可能不起作用......因为多个用户同时编辑数据。有人有其他解决方案吗?

注意:该g变量不起作用,因为数据是跨用户共享的,而不是requests …

python thread-safety flask

6
推荐指数
1
解决办法
147
查看次数

标签 统计

flask ×1

python ×1

thread-safety ×1