簡體   English   中英

無法從Flask執行python腳本

[英]Unable to execute python script from Flask

我有一個Flask應用程序,它將在后台執行另一個python腳本,並從數據庫中獲取要顯示給用戶的數據。 該腳本失敗,因為它無法初始化局部變量。

FetchAPI.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()

FetchDataFor_P_NAME.py

def main():
    '''some statements to fetch data using the start_date'''
    query = query.replace('?', "'" + start_date + "'")

if __name__ == '__main__':
    '''some statements'''
    start_date = '01-JAN-14 00:00'
    main()

每當我執行Flask應用程序並調用頁面/ batch21時,都會出現以下錯誤:

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

這是我第一次使用Python使用API​​。 我不確定我在這里缺少什么。

if __name__ == '__main__':語句僅在腳本是主要調用腳本(例如通過控制台啟動)的情況下才評估為True 因此,只有在腳本為主要腳本的情況下,才執行在這種情況下發生的所有事情。

因此,這里發生的是,在Flask應用程序中調用函數main()時,永遠不會初始化變量start_date

您可以通過將參數傳遞給函數main() ,例如def main(start_date):並在Flask App中像這樣調用它: fetch.main('01-JAN-14 00:00')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM