python-3.x - 如何从 RadioField 获取输入?烧瓶和 sqlAlchemy
问题描述
我正在编写一个可以跟踪我读过的书的网络应用程序。要记录一本新书,用户还需要给它一个显示为星级的评级(使用 html&css)。以下代码不包含 css 部分。
<div class="rate">
<input type="radio" id="star5" name="rate" value="5" />
<label for="star5" title="text">5 stars</label>
<input type="radio" id="star4" name="rate" value="4" />
<label for="star4" title="text">4 stars</label>
<input type="radio" id="star3" name="rate" value="3" />
<label for="star3" title="text">3 stars</label>
<input type="radio" id="star2" name="rate" value="2" />
<label for="star2" title="text">2 stars</label>
<input type="radio" id="star1" name="rate" value="1" />
<label for="star1" title="text">1 star</label>
</div>
这是 forms.py 的一部分,我感兴趣的是评级 - RadioField
class PostForm(FlaskForm):
title = StringField('Title',validators=[data_required()])
author = StringField('Author', validators=[data_required()])
rating = RadioField('Rating')
review = TextAreaField('Review', validators=[data_required()])
submit = SubmitField('Post')
然后使用 sqlAlchemy 将信息包含到数据库中。这是具有以下评级的书类:
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
author = db.Column(db.String(100), nullable=False)
rating = db.Column(db.Integer)
review = db.Column(db.String(400), nullable=False)
date_posted = db.Column(db.DateTime, nullable=False,
default=datetime.utcnow)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
def __repr__(self):
return f"Book('{self.title}','{self.author}','{self.rating}','{self.review}','{self.date_posted}', '{self.reader}')"
这是 routes.py 的一部分。
@app.route("/create_post", methods=['GET', 'POST'])
@login_required
def new_post():
form = PostForm()
if form.validate_on_submit():
book = Book(title=form.title.data,author = form.author.data, rating=form.rating.data, review=form.review.data, reader=current_user)
db.session.add(book)
db.session.commit()
flash('Your post has been created!', 'success')
return redirect('/home')
return render_template('create_post.html', title='New Post', form=form, legend='New Post')
我的问题是 - 如何获取 RadioField 的输入以便将其添加到数据库中?
解决方案
推荐阅读
- rdf - GraphDB 推理对类进行不同的推理
- reactjs - 私有 next.js 站点上的简单密码保护
- html - 具有自定义 css 设计的 HTML 表格
- amazon-s3 - 对于“us-east-1”以外的区域,邮递员调用获取 S3 存储桶位置失败
- javascript - 显示jqGrid滚动条的当前位置
- android - 运行 android 应用程序时出现空白页
- java - 将按钮半径设置为主题
- ios - 带有正文的 Alamofire 发布请求
- regex - 正则表达式谷歌分析 - 从 url 过滤一些目录和页面
- tensorflow - 使用动态形状的自定义值初始化变量