python - 如何过滤Flask中的数据?
问题描述
我正在 Flask 中构建广告服务,并希望让用户按类别过滤广告,但不知道如何在 python 和 Flask 中做到这一点。
例如,我们有以下广告形式:
class AdvertForm(FlaskForm):
title = StringField('Title', validators=[DataRequired()])
content = TextAreaField('Content', validators=[DataRequired()])
category = SelectField('Caterogry', validators=[DataRequired()], choices=[('car','Car'), ('work','Work'), ('sport','Sport')])
submit = SubmitField('Submit')
并遵循html:
<div class="categories">
<div class="category-item">
<a href="">Cars</a>
</div>
<div class="category-item">
<a href="">Work</a>
</div>
<div class="category-item">
<a href="">Sport</a>
</div>
</div>
当用户点击 HTML 中的Cars项目时,我想创建子页面127.0.0.1:5000/cars并仅显示具有汽车类别的广告
解决方案
您可以捕获用户选择的类别并将其发送回您的 Python 函数。然后,根据选择,将用户引导到适当的子页面。
@app.route('/mainpage', methods=['GET','POST'])
def mainpage():
form = AdvertForm()
if form.validate_on_submit():
selectedCategory = request.form['category']
nextPage = selectedCategory + ".html"
return render_template(nextPage)
return render_template('mainpage.html', form=form)
在上面的示例中,如果用户选择 Car 并单击 Submit,他们将被路由到http://localhost:5000/car.html
. 如果他们选择工作,他们将被路由到http://localhost:5000/work.html
。我相信你明白了。
推荐阅读
- python - 多个条件的 SQLAlchemy 子过滤器
- python - 找不到部署 Flask 应用程序生产“配置”
- python - imshow 显示两个图像时的闪烁反应
- puppeteer - 如何使用 codeceptjs 和 puppeteer 下载 pdf
- javascript - 我需要使用 angulat 10 或 javascript 在新窗口中打开 PDF 文件。但我还需要在打开文件之前更改文件名
- python-3.x - 从命令行作为独立客户端运行python程序(使用pip打包和安装)
- flutter - 分栏符对齐
- linux - Postfix 队列后内容过滤器完整示例
- reactjs - 在控制台中出现错误 Uncaught ReferenceError: arguments is not defined after upgrade the webpack 4 to webpack 5
- vue.js - 重新加载后Vuex状态不包含