【发布时间】:2021-08-17 19:18:43
【问题描述】:
我已经使用烧瓶创建了一个 REST-API,所以现在我不知道如何将它与 HTML 页面连接起来。 听到的是我的 rest-api 的 app.py 代码 从阻止列表导入阻止列表 重新进口 从烧瓶进口烧瓶,jsonify 从 flask_restful 导入 API 从 flask_jwt_extended 导入 JWTManager
import redis
from db import db
from jwt import PyJWKClient
from resources.user import UserRegister, User, UserLogin, TokenRefresh, UserLogout
from resources.item import Item, ItemList
from resources.store import Store, StoreList
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///data.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
app.config["PROPAGATE_EXCEPTIONS"] = True
app.config["JWT_BLACKLIST_ENABLED"] = True
app.secret_key = "jose"
api = Api(app)
@app.before_first_request
def create_tables():
db.create_all()
jwt = JWTManager(app) # not creating an auth
jwt_redis_blocklist = redis.StrictRedis(
host="localhost", port=5000, decode_responses=True
)
@jwt.expired_token_loader
def check_if_token_is_revoked(jwt_header, jwt_payload):
jti = jwt_payload["jti"]
token_in_redis = jwt_redis_blocklist.get(jti)
return token_in_redis is not None
@jwt.token_in_blocklist_loader
def check_if_token_in_blacklist(jwt_header, jwt_payload):
return jwt_payload["jti"] in blocklist
api.add_resource(Store, "/store/<string:name>")
api.add_resource(StoreList, "/stores")
api.add_resource(Item, "/item/<string:name>")
api.add_resource(ItemList, "/items")
api.add_resource(UserRegister, "/register")
api.add_resource(User, "/user/<int:user_id>")
api.add_resource(UserLogin, "/login")
api.add_resource(UserLogout, "/logout")
api.add_resource(TokenRefresh, "/refresh")
if __name__ == "__main__":
db.init_app(app)
app.run(port=5000, debug=True)
我不知道如何从 API 获取数据并将其显示到 HTML 页面
【问题讨论】: