Я не уверен, что ваша идея хорошая. Я опубликовал несколько небольших решений, но вы должны прочитать эту статью для лучшей практики.
1) Если вы хотите запустить внешний скрипт из колбы, вы можете использовать подпроцесс для запуска скрипта из командной строки.
@app.route('/run-script')
def run_script():
result = subprocess.check_output("python main.py", shell=True)
return render_template('results.html', **locals())
2) Если вы хотите запустить код Python в фоновом режиме без возврата, вы можете создать поток.
from threading import Thread
@app.route('/run-in-background')
def run_in_background():
run_func()
return redirect(url_for('.index'))
def run_func():
data = { 'some': 'data', 'any': 'data' }
thr = Thread(target=run_async_func, args=[app, data])
thr.start()
return thr
def run_async_func(app, data):
with app.app_context():
# Your working code here!
example_module.do_somthing_with(data)
Не уверен, поможет ли это. Оба решения могут привести к путанице.
Вы должны прочитать документы по фляге.
Функция app.config.from_pyfile оценивает данные конфигурации из кода Python. Это сильно отличается от вашего вопроса.