异常。未定义错误:'函数&未定义 [英] jinja2.exceptions.UndefinedError: 'function' is undefined

查看:0
本文介绍了异常。未定义错误:'函数&未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在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__块,一切都应该正常工作。

这篇关于异常。未定义错误:'函数&未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆