У меня есть функция и настройка маршрута колбы. Однако, когда я перехожу к «простой странице», я получаю сообщение об ошибке «NameError: глобальное имя« aaa »не определено». Почему ни один из объектов, передаваемых в testfun? Это что-то из-за декоратора app.route или из-за колбы? Могу ли я передать все объекты, переданные в testfun? Мой фактический код намного сложнее с большим количеством объектов, которые нужно будет передать, но этот упрощенный сценарий был создан для иллюстрации моей проблемы.объекты, которые не передаются в функцию в колбе маршрута
def testfun():
b=aaa
@app.route("/simplepage/", methods=['GET'])
def simplepage():
aaa=1
testfun()
return flask.render_template('page.html')
Почему бы не передать 'aaa' в качестве аргумента' testfun() '(т.е.' testfun (ааа) ') – John
хорошо, в моем реальном приложении есть намного больше объектов, чтобы пройти и я бы также для повторного импорта большого количества модулей, и сделать это для нескольких функций. я бы предпочел избежать всего этого и сделать код более чистым и более простым в обслуживании. Я не думаю, что у меня обычно есть эта проблема. – user1748155
После небольшого исследования я уверен, что это проблема [scoping] (http://stackoverflow.com/a/292502/322909) ... – John