gpt4 book ai didi

python - flask 应用程序的 redis 数据库

转载 作者:可可西里 更新时间:2023-11-01 11:28:35 26 4
gpt4 key购买 nike

我正在尝试修改现有的 Flask 应用程序以使用 Redis 数据库而不是 token 。我搜索了一个示例并通过了 redis 文档,但找不到任何东西。这是我所拥有的:

from flask import Flask, Response
from flask.ext.login import LoginManager, UserMixin, login_required

from redis import Redis
redis = Redis()

app = Flask(__name__)
login_manager = LoginManager()
login_manager.init_app(app)


class User(UserMixin):
# proxy for a database of users
user_database = {"JohnDoe": ("JohnDoe", "John"),
"JaneDoe": ("JaneDoe", "Jane")}

def __init__(self, username, password):
self.id = username
self.password = password

@classmethod
def get(cls,id):
return cls.user_database.get(id)


@login_manager.request_loader
def load_user(request):
token = request.headers.get('Authorization')
if token is None:
token = request.args.get('token')

if token is not None:
username,password = token.split(":") # naive token
user_entry = User.get(username)
if (user_entry is not None):
user = User(user_entry[0],user_entry[1])
if (user.password == password):
return user
return None


@app.route("/",methods=["GET"])
def index():
return Response(response="Hello World!",status=200)


@app.route("/protected/",methods=["GET"])
@login_required
def protected():
return Response(response="Hello Protected World!", status=200)


if __name__ == '__main__':
app.config["SECRET_KEY"] = "ITSASECRET"
app.run(port=5000,debug=True)

任何人都可以指出使用 Redis 作为简单授权数据库的正确方向吗?

最佳答案

这不是一个具体的建议,但是 Flask-Cache 有很好的文档.它提供了多种将 Redis(或其他缓存)集成到 Flask 应用程序中的方法。我不确定这是否对您的目的有帮助,但无论如何,它会消除一些样板。

关于python - flask 应用程序的 redis 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42893837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com