Flask实战2问答平台-发布问答功能完成
生活随笔
收集整理的这篇文章主要介绍了
Flask实战2问答平台-发布问答功能完成
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
我们需要新建一个表,可以采用两种方式:
(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是每次创建一个模型时获取当前时间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'))此时我们在终端中执行
>>>python manager.py db migrate >>>python manager.py db upgrade
(2)之后我们可以登录MySQL查看,此时已经新建好了一张表
在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'))测试
输入内容,点击立即发布后,跳转到index.html此时并不会出现我们刚才发布的内容,因为这个功能还没完成.再看看数据库中question表,发现内容已经添加进去.OK
总结
以上是生活随笔为你收集整理的Flask实战2问答平台-发布问答功能完成的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Flask实战2问答平台-登录限制(装饰
- 下一篇: 爬取智联招聘(面向对象)