python - flask的model模块里, 静态方法的参数是如何确定的?
本文介绍了python - flask的model模块里, 静态方法的参数是如何确定的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
Flask Web一书中为管理评论在models.py里创建一个comment模型,代码如下:
class Comment(db.Model):
__tablename__ = 'comments'
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.Text)
body_html = db.Column(db.Text)
timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
disabled = db.Column(db.Boolean)
author_id = db.Column(db.Integer, db.ForeignKey('users.id'))
post_id = db.Column(db.Integer, db.ForeignKey('posts.id'))
@staticmethod
def on_changed_body(target, value, oldvalue, initiator):
allowed_tags = ['a','abbr','acronym','b','code','em','i','strong']
target.body_html = bleach.linkify(
bleach.clean(markdown(value, output_format='html'), tags=allowed_tags, strip=True))
db.event.listen(Comment.body, 'set', Comment.on_changed_body)
代码的意思我能明白, 但我很好奇, 当系统发生'set'事件,自动调用静态方法on_changed_body
时,系统怎么会知道,应该传送几个参数以及参数分别是什么?
也可以理解为: 静态方法里面那四个参数为什么是那四个,其顺序为什么是这样, 在什么地方有规定吗?
解决方案
http://docs.sqlalchemy.org/en...
像这种不是自己实现的功能,马上反应找文档看就行了。
这篇关于python - flask的model模块里, 静态方法的参数是如何确定的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文