异常。未定义错误:&;#39;函数&未定义 [英] jinja2.exceptions.UndefinedError: 'function' is undefined
本文介绍了异常。未定义错误:&;#39;函数&未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在nginx+uwsgi上运行一个FASK服务器。当我通过python server.py
只运行flASK服务器时,我能够在我的JJIA2模板中使用id_encode
函数,没有抛出错误。
但是,当我通过
启动(server.py)时uwsgi --socket 0.0.0.0:8002 --module server --callab app
它将崩溃,并报告找不到函数id_encode
。
jinja2.exceptions.UndefinedError: 'id_encode' is undefined
声明方式:
if __name__ == '__main__':
app.jinja_env.globals.update(id_encode=id_encode)
app.run(host=host,port=5000, debug=True)
导致此问题的原因以及如何使该功能可用?
推荐答案
问题是,只有当脚本作为顶级脚本运行时,才会执行__main__
块。Uwsgi导入模块,因此__main__
块永远不会运行。将app.jinja_env.globals.update(id_encode=id_encode)
移出__main__
块,一切都应该正常工作。
这篇关于异常。未定义错误:&;#39;函数&未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文