首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Flask传递来自2个文件html的多个变量的最简单方法

使用Flask传递来自2个文件html的多个变量的最简单方法
EN

Stack Overflow用户
提问于 2018-08-06 05:33:37
回答 1查看 2.5K关注 0票数 0

我正在试着了解Flask是如何工作的。我在本地机器上运行了这个脚本:

代码语言:javascript
复制
@app.route('/ordini', methods=['GET', 'POST'])
def ordini():
    global data_start, ora_start, data_stop, id, M1, M2, M3, M4, M5

        if request.method == 'POST':

             id = request.form['id']
             data_start = request.form['data_start']
             ora_start = request.form['ora_start']
             data_stop = request.form['data_stop']

             M1 = request.form['M1']
             M2 = request.form['M2']
             M3 = request.form['M3']
             M4 = request.form['M4']
             M5 = request.form['M5']

             return render_template('ordine_macchine_necessarie.html',
                                    id=id, data_start=data_start, 
                                    data_stop=data_stop,                            
                                    ora_start=ora_start, 
                                    M1=M1, M2=M2, M3=M3, M4=M4, M5=M5)

return render_template('ordine.html')

每件事都运行得很好,我从ordine.html获取值并将它们传递给ordine_macchine_necessarie.html,但在我看来我没有以正确的方式传递这些值。我真的需要像id = request.form['id']一样设置所有变量,然后像id=id一样传递所有变量吗?我可以想象由50个或更多值组成的表单,我非常确定我没有正确地做一些事情。

如果我开始学习Django instad Flask会更好?一些用户说它更好!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-06 06:19:41

如果你只需要特定的filed,你可以这样做:

代码语言:javascript
复制
             request_data = {
                 'id': request.form['id'],
                 'data_start': request.form['data_start'],
                 'ora_start': request.form['ora_start'],
                 'data_stop': request.form['data_stop'],
                 'M1': request.form['M1'],
                 'M2': request.form['M2'],
                 'M3': request.form['M3'],
                 'M4': request.form['M4'],
                 'M5': request.form['M5'],
             }

             # or dicitionary comprehension
             # relevant_keys = ['id','data_start','ora_start','data_stop', 'M1', 'M2', 'M3', 'M4', 'M5']
             # requst_data = {key: request.form[key] for key in relevant_keys}

             return render_template('ordine_macchine_necessarie.html', **request_data)

如果你想要表单中的所有数据,你可以这样做:

代码语言:javascript
复制
 return render_template('ordine_macchine_necessarie.html', **request.form)

至于Flask/Tornado/aiohttp/Falcon,在你进入Django之前,它们都是很好知道的,至少值得用它们来写一些小项目。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51698417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档