欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Flask实战2问答平台-发布问答功能完成

发布时间:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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中导入

from models import User,Question

(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问答平台-发布问答功能完成的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。