python - Flask:如何覆盖蓝图路线?
问题描述
我有这样的base_blueprint:
from flask import (
jsonify,
Blueprint,
)
class RestBlueprint(object):
def __init__(self, db_model):
self.blueprint = Blueprint(db_model.__tablename__, db_model.__tablename__, url_prefix='/' + db_model.__tablename__ + '/')
self.db_model = db_model
@self.blueprint.route("/<entity_id>", methods=["GET"])
def get_by_id(entity_id):
response = get_item()
return jsonify(response)
我想通过其他蓝图继承这个蓝图:
from rest_blueprint import RestBlueprint
class UserRestBlueprint(RestBlueprint):
def __init__(self, db_model):
super(UserRestBlueprint, self).__init__(db_model)
@self.blueprint.route("/<user_id>", methods=["GET"])
def get_by_id(user_id):
response = get_item()
del response["password"]
return jsonify(response)
这是一个基本示例,我想这样做的原因是为我的大多数 CRUD 模型使用基本蓝图,并为 4-5 个模型使用自定义蓝图。我遇到的问题是我无法覆盖基本蓝图 crud 方法,我很好奇是否有任何方法可以为自定义蓝图提供自定义 CRUD 方法。
任何帮助表示赞赏!
解决方案
推荐阅读
- ios - 无法使用类型为“(文本:String?,jobImage:UIImage?)”的参数列表调用类型“Job”的初始化程序
- scala - 有多少 jar 文件被加载到内存中
- android - 从 SQLite 中选择大量数据时应用程序崩溃
- c# - 获取列表中的 Wpf DataGrid 数据
- azure - 为 ssh 设置入站 IP 地址过滤器
- python - 在 Sqlalchemy get() 上转换时区
- php - 如何在 PHP 中更正 json?
- html - iPhone 中不显示背景图像
- php - 不允许编辑 php.ini 时通过子域的 PHP 会话
- node.js - 我的简单代码不适用于 express-validator