无法从Flas执行python脚本

2020-12-04 15:38:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Flask应用程序,它将在后台执行另一个python脚本,并从数据库中获取数据以显示给用户。脚本失败,因为它无法初始化局部变量。在

获取API.py

import FetchDataFor_P_NAME as fetch
from flask import Flask
app = Flask(__name__)

@app.route('/batch21')
def fetchBatch21Data():
    return fetch.main()

if __name__ == '__main__':
    app.run()

获取数据_名称.py

^{pr2}$

每当我执行Flask应用程序并调用page/batch21时,都会出现以下错误:

query = query.replace('?', "'" + start_date + "'")
NameError: name 'start_date' is not defined

这是我第一次在Python中使用API。我不知道我在这里遗漏了什么。在

1条回答
网友
1楼 ·

只有当调用的脚本是主脚本时,if __name__ == '__main__':语句的计算结果为True,例如通过控制台启动。所以在这种情况下发生的所有事情只有在脚本是主脚本的情况下才会执行。在

因此,这里发生的是,当在Flask应用程序中调用函数main()时,变量{}从未初始化。在

您可以通过将参数传递给函数main(),例如def main(start_date):并在烧瓶应用程序中调用它,如下所示:fetch.main('01-JAN-14 00:00')。在

相关问题