這個(gè)系統(tǒng)一直號(hào)稱(chēng)輕博客,但貌似博客的功能還沒(méi)有實(shí)現(xiàn),這一章將簡(jiǎn)單的實(shí)現(xiàn)一個(gè)博客功能,首先,當(dāng)然是為數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)博文表(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"))

你可能注意到了,這個(gè)博文表并沒(méi)有title字段,這個(gè)是參考了微博以及目前市面上的一些輕博產(chǎn)品,每個(gè)人可以隨心所以的發(fā)布輕博客,不限制必須發(fā)布正規(guī)的博客。

同時(shí)修改用戶(hù)表與博文表關(guān)聯(lián)

class User(UserMixin,db.Model):
    
    ...

    posts=db.relationship("Post",backref="author",lazy='dynamic')

然設(shè)置博文表單(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
        
		

網(wǎng)友評(píng)論