這個系統(tǒng)一直號稱輕博客,但貌似博客的功能還沒有實現(xiàn),這一章將簡單的實現(xiàn)一個博客功能,首先,當然是為數(shù)據(jù)庫創(chuàng)建一個博文表(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字段,這個是參考了微博以及目前市面上的一些輕博產(chǎn)品,每個人可以隨心所以的發(fā)布輕博客,不限制必須發(fā)布正規(guī)的博客。
同時修改用戶表與博文表關聯(lián)
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("分享一下現(xiàn)在的心情吧!",validators=[DataRequired()]) &n