Flask Web 开发 用户评论

程序猿果然是需要精神高度集中才能工作的类型啊......这礼拜生病了。。。看书效率奇低。。。。


上一章节讲完了用户关注的关系

这一章节来讲另外一个大功能,评论功能

由于评论和2个模型有关系,分别是谁发了评论,以及评论了哪个文章,所以这次又要更新数据库模型了




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('users.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)

这个Comment和Post基本上一致,不过多了一个disabled属性,书上写是给管理员用的。


既然Comment里面设置了2个外键,那么User和Post里面也要设置相应的关系

class User(db.Model):
# ...
comments = db.relationship('Comment', backref='author', lazy='dynamic')


class Post(db.Model):
# ...
comments = db.relationship('Comment', backref='post', lazy='dynamic')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值