Python jinja2.exceptions.UnfinedError:&x27;功能';是未定义的
我正在nginx+uwsgi上运行flask服务器。当我通过Python jinja2.exceptions.UnfinedError:&x27;功能';是未定义的,python,nginx,flask,jinja2,uwsgi,Python,Nginx,Flask,Jinja2,Uwsgi,我正在nginx+uwsgi上运行flask服务器。当我通过python server.py运行flask服务器时,我能够在我的jinja2模板中使用id\u encode函数,不会抛出错误 但是,当我通过 uwsgi--socket 0.0.0.0:8002--module server--callab app 它将崩溃,表示无法找到函数id\u encode jinja2.exceptions.UndefinedError:'id\u encode'未定义 声明通过: if __name__
python server.py
运行flask服务器时,我能够在我的jinja2模板中使用id\u encode
函数,不会抛出错误
但是,当我通过
uwsgi--socket 0.0.0.0:8002--module server--callab app
它将崩溃,表示无法找到函数id\u encode
jinja2.exceptions.UndefinedError:'id\u encode'未定义
声明通过:
if __name__ == '__main__':
app.jinja_env.globals.update(id_encode=id_encode)
app.run(host=host,port=5000, debug=True)
导致此问题的原因是什么?如何使函数可用?问题是,只有当脚本作为顶级脚本运行时,
\uuuuu main\uuuuu
块才会被执行。uwsgi导入您的模块,因此\uuuuu main\uuuu
块永远不会运行。将你的app.jinja\u env.globals.update(id\u encode=id\u encode)
移到\uuuuu main\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?如果不清楚,请说明问题的哪一部分不清楚。请解释一下。