下面的代码从WTForm获取变量,用户可以在其中输入名称或id,这将用于数据库中的查询。问题是,当只提交一个字段时,URL会“中断”,因为,例如,如果没有提交piname,那么URL将看起来像“/find_pi//1424524”。有没有什么方法可以在不破坏代码的情况下修复这个问题?我的下一个任务涉及多个“可选”字段,这些字段更难拆分。在
@main.route('/find_pi/', methods=('GET', 'POST'))
def pick_pi():
form = PeopleFinder()
if form.validate_on_submit():
piname = form.piname.data
piid = form.piid.data
return redirect(url_for('.piresults', piname=piname, piid=piid)
return render_template('specify_pi.html', form=form)
@main.route('/find_pi/<piname>/<piid>')
def find_pi(piname, piid):
if piname != None:
entries = Grant.query.filter(Grant.pi_name==(piname)).all()
return render_template('piresults.html', entries=entries)
if piid != None:
entries = Grant.query.filter(Grant.pi_id==(piid)).all()
return render_template('piresults.html', entries=entries)
谢谢你!在
如果您需要},有几种方法可以实现这一点:
piname
或{1.独立路线
2.同时检查piname和piid的单一路由
^{pr2}$如果您计划添加其他可选参数,那么应该使用querystring,基本url不是放置可选元素的好地方。在
相关问题 更多 >
编程相关推荐