在烧瓶视图之间共享变量

时间:2018-07-05 20:43:06

标签: python forms flask django-templates

所以我知道这是一个相当广泛的问题,通常我会避免问这些类型的问题,但是我对Flask并不陌生。我更是一个计算统计学家。

因此,我编写了一些脚本,这些脚本基本上减少了工作中的大量体力劳动。它们本质上是

1. CleanData.py
2. Optimize.py
3. Build-Reports.py

每个都接受一些参数。例如,1. CleanData.py会接收一个文本文件,2. Optimize.py会包含一些优化参数,等等。

但是,我要交付的团队不是技术人员,他们真的更喜欢一些前端设计(看起来很漂亮)。

我已经考虑过构建Flask桌面网络应用程序,因为Flask相当轻巧,我可以使用bootstrap使其美观。另外,我不需要数据库,因为没有用户登录或任何永久数据被保存。

但是,我不知道如何构造该项目。例如,我可以创建三个模板

FlaskProject/
    __init__.py
    ...
    views.py
    forms.py
    templates/
        Page1.html ## script 1
        Page2.html ## script 2
        Page3.html ## script 3

某人可以从Page1.html上的表单上载文本文件,然后进行清理。我可以呈现已清理文本文件的head(例如前10行),但是我不知道如何为Page2.htmlPage3.html重用此数据,因为每个数据都需要一些附加参数根据每个脚本的需要。在views.py中,我假设我需要类似

...
@app.route('/')
@app.route('/Page1')
def CleanData():
    ...read data...
    cleandata = ...clean data...
    return render_template('Page2.html', cleandata=cleandata)


...
@app.route('/Page2')
def Optimize():
    ...here I need to access the cleandata variable...
    MyOptimizeFunction(cleandata) # HERE IS THE PROBLEM
    context = ...some other data...
    return render_template('Page3.html', context=context)

有人对在cleandata视图中如何访问Optimize有任何建议吗?有没有组织该项目的更好方法,或者我可以在服务器中保留一些东西?

0 个答案:

没有答案