我将一些kwargs传递给url_for
,但视图功能中的**kwargs
并未获得它们。我如何获得额外数据?
admin.py
@admin_bp.route('/alerts', methods=['GET'])
def display_alerts(**kwargs):
print kwargs
alert_sorted = Alert.query.filter_by(**kwargs).all()
index.html
<a href="{{ url_for('admin.display_alerts', {'user_id':val.user_id} )}}">Show User Alerts</a>
models.py
class Alert(db.Model):
__tablename__ = 'alert'
__table_args__ = {'extend_existing': True}
alert_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
user_id = db.Column(db.BigInteger, db.ForeignKey('users.user_id'), nullable=False)
name = db.Column(db.String(ALERT_NAME_MAX_SIZE), nullable=False)
我无法修改函数display_alerts(**kwargs)
,因为它被许多其他函数使用。我的问题是要了解如何将kwargs
参数发送到HTML中的url_for()
函数。
答案 0 :(得分:1)
您正在寻找request.args
。传递给url_for
的任何未知关键字参数将用于填充查询字符串。然后通过request.args
公开查询字符串。
@admin_bp.route('/alerts')
@admin_auth
def display_alerts():
print(request.args)