【问题标题】:Flask render_template() returning "NameError: name 'app' is not defined"烧瓶渲染模板()返回“NameError:名称'app'未定义”
【发布时间】:2012-05-30 04:57:46
【问题描述】:

我正在关注 Flask 快速入门指南。 http://flask.pocoo.org/docs/quickstart/#static-files 当我按照指南进行操作时,我遇到了这个错误。

/application
/__init__.py
/templates
    /hello.html

   @app.route('/hello/')
   @app.route('/hello/<name>')
   def hello(name=None):
       return render_template('hello.html', name=name)

    >python _init_.py 
        Traceback (most recent call last):
        File "_init_.py", line 4, in <module>
   @app.route('/hello/')
   NameError: name 'app' is not defined

【问题讨论】:

  • 你只需要导入render_template。 from flask import Flask, render_template

标签: python flask


【解决方案1】:

也许是这个?

from flask import Flask, request, render_template

【讨论】:

    【解决方案2】:

    唯一缺少的是

    from flask import Flask, render_template
    

    【讨论】:

      【解决方案3】:

      Flask website上的最小程序,尤其是前两行:

      from flask import Flask
      app = Flask(__name__)
      
      @app.route("/")
      def hello():
          return "Hello World!"
      
      if __name__ == "__main__":
          app.run()
      

      你的问题是你没有imported一个Flask模块,也没有初始化一个Flask app object

      【讨论】:

      • 发现问题........在代码中变量名和main有2个下划线..我用的是一个。
      【解决方案4】:

      我很惊讶没有人将此问题标记为已回答。正如许多人建议的那样,我也可以确认from flask import Flask, render_template 解决了问题

      【讨论】:

        【解决方案5】:

        你需要:

        from flask import request
        

        我认为这是 Flask 快速入门指南中的一个缺陷。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-12
          相关资源
          最近更新 更多