这个系统一直号称轻博客,但貌似博客的功能还没有实现,这一章将简单的实现一个博客功能,首先,当然是为数据库创建一个博文表(models\post.py):
from .. import dbfrom datetime import datetimeclass Post(db.Model): __tablename__='posts' id=db.Column(db.Integer,primary_key=True) body=db.Column(db.Text) createtime=db.Column(db.DateTime,index=True,default=datetime.utcnow) author_id=db.Column(db.Integer,db.ForeignKey("users.id"))
你可能注意到了,这个博文表并没有title字段,这个是参考了微博以及目前市面上的一些轻博产品,每个人可以随心所以的发布轻博客,不限制必须发布正规的博客。
同时修改用户表与博文表关联
class User(UserMixin,db.Model): ... posts=db.relationship("Post",backref="author",lazy='dynamic')
然设置博文表单(forms\PostForm.py):
from flask_wtf import FlaskFormfrom wtforms import TextAreaField,SubmitFieldfrom wtforms.validators import DataRequiredclass PostForm(FlaskForm): body=TextAreaField("分享一下现在的心情吧!",validators=[DataRequired()]) &n