Flask实战2问答平台-发布问答功能完成
生活随笔
收集整理的這篇文章主要介紹了
Flask实战2问答平台-发布问答功能完成
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我們需要新建一個表,可以采用兩種方式:
(1)手動建表
(2)使用flask_migrate.
說一下使用第二種方法建表的方式
(1)在models.py文件中添加如下代碼
class Question(db.Model):__tablename__ = 'question'id = db.Column(db.Integer,primary_key =True,autoincrement = True)title = db.Column(db.String(100),nullable= False)content = db.Column(db.Text,nullable = False)#now()獲取的是服務器第一次運行的時間# now是每次創(chuàng)建一個模型時獲取當前時間create_time = db.Column(db.DateTime,default = datetime.now)author_id = db.Column(db.Integer,db.ForeignKey('user.id'))author = db.relationship('User',backref = db.backref('questions'))此時我們在終端中執(zhí)行
>>>python manager.py db migrate >>>python manager.py db upgrade
(2)之后我們可以登錄MySQL查看,此時已經(jīng)新建好了一張表
在manager.py中導入
(3)然后在主py文件中,完善
@app.route('/question',methods=['GET','POST']) @login_required def question():if request.method == 'GET':return render_template('question.html')else:title = request.form.get('title')content = request.form.get('content')question = Question(title = title,content = content)user_id = session.get('user_id')user = User.query.filter(User.id == user_id).first()question.author = userdb.session.add(question)db.session.commit()return redirect(url_for('index'))測試
輸入內(nèi)容,點擊立即發(fā)布后,跳轉(zhuǎn)到index.html此時并不會出現(xiàn)我們剛才發(fā)布的內(nèi)容,因為這個功能還沒完成.再看看數(shù)據(jù)庫中question表,發(fā)現(xiàn)內(nèi)容已經(jīng)添加進去.OK
總結(jié)
以上是生活随笔為你收集整理的Flask实战2问答平台-发布问答功能完成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flask实战2问答平台-登录限制(装饰
- 下一篇: Python-简单优先队列