【发布时间】:2015-06-04 15:55:16
【问题描述】:
我正在尝试创建一个使用表单 (WTForms) 获取两个 svn url 并做某事/显示它们的网络应用程序。它将有一个更新按钮,如果单击该按钮,将仅显示一个包含信息的表格以及执行另一个功能的另一个提交按钮(使用为 render_template 提供的show=True)
views.py:
@app.route('/test4', methods=['GET','POST'])
def test4():
form1=SVN_Path()
form2=Inputs()
if request.method=="POST":
if request.form.get('updatepaths')=='Update' and form1.validate_on_submit():
--> basepath=createDir()
svn_url1 = form1.svn_url1.data
svn_url2 = form1.svn_url2.data
--> prev_pdf=PDF_List(svn_url1,basepath,'prev') #function that generates a list
new_pdf=PDF_List(svn_url2,basepath,'new') #function that generates a list
options=[("None","None")]+[(pdf,pdf) for pdf in new_pdf]
for sub_form in form2.files:
sub_form.choices= options
sub_form.default="None"
return render_template('test4.html',form1=form1,form2=form2,show=True,numfiles=len(prev_pdf),pdflist=prev_pdf)
elif request.form.get('batchfiles')=='Submit':
#I WANT TO USE PREV_PDF AND BASEPATH IN THIS PART BUT IT IS OUT OF SCOPE
else:
return render_template('test4.html',form1=form1,form2=form2)
elif 部分:elif request.form.get('batchfiles')=='Submit':
是仅在单击第一个提交时才会出现的第二个提交,但是,
问题出现时间:在该代码部分中,我想使用 basepath 和 prev_pdf 超出范围,因为我在第一个 if 语句的末尾返回了 render_template。我也不能再访问 form1.svn_url1.data 所以我不能只回忆这个函数。
我只是想不出一种方法来格式化代码或解决我的问题的解决方案,因此不胜感激。
【问题讨论】:
标签: python python-2.7 flask jinja2 wtforms