【问题标题】:flask.cli.NoAppException: Could not import "app"flask.cli.NoAppException:无法导入“应用程序”
【发布时间】:2021-04-07 22:43:12
【问题描述】:
from flask import Flask, render_template 
# Flask is a class that allows us to create an app
# render_template is a method offered by flask

app = Flask(__name__) # creates an app with the name of the file

@app.route('/') # route that listens to the homepage
def index(): # route handler
    # render_template(template_name_or_list) 
    # used to specify an html template to render to the user
    return render_template('index.html', data=[{
        'description': 'Todo 1'
    }, {
        'description': 'Todo 2'
    }, {
        'description': 'Todo 3'
    }])

# To run the app
# In the terminal
# FLASK_APP=app.py FLASK_DEBUG=true flask run

我的应用程序的名称是app.py,它在一个名为ToDo-App的文件夹中,在这个文件夹中还有一个名为templates的文件夹strong>,包含 index.html 文件。

<html>
    <head>
        <title>Todo App</title>
    </head>
    <body>
        <ul>
            <!-- jinja for loop -->
            {% for d in data %}
            <li>{{ d.description }}</li>
            {% endfor %}
            <!--<li>Todo 1</li>
            <li>Todo 2</li>
            <li>Todo 3</li>
            <li>Todo 4</li>-->
        </ul>
    </body>
</html>

在终端中:

Esam@DESKTOP-73QDAD3 MINGW32 /i/web/advanced-track/1-sql_and_data_modeling_for_the_web/ToDo-App
$ FLASK_APP=app.py FLASK_DEBUG=true 烧瓶运行

  • 服务 Flask 应用“app.py”(延迟加载)
  • 环境:生产 警告:这是一个开发服务器。不要在生产部署中使用它。 请改用生产 WSGI 服务器。
  • 调试模式:开启
  • 使用 stat 重启
  • 调试器已激活!
  • 调试器 PIN:266-552-216
  • http://127.0.0.1:5000/ 上运行(按 CTRL+C 退出)

当我打开这个链接时http://127.0.0.1:5000/

Traceback(最近一次调用最后一次): 文件“C:\Users\Esam\AppData\Local\Programs\Python\Python39-32\Lib\site-packages\flask\cli.py”,第 236 行,位于 locate_app 导入(模块名称) ModuleNotFoundError: 没有名为“app”的模块

在处理上述异常的过程中,又发生了一个异常:

Traceback(最近一次调用最后一次): 调用中的文件“C:\Users\Esam\AppData\Local\Programs\Python\Python39-32\Lib\site-packages\flask\cli.py”,第 337 行 rv = self._load_unlocked() 文件“C:\Users\Esam\AppData\Local\Programs\Python\Python39-32\Lib\site-packages\flask\cli.py”,第 324 行,在 _load_unlocked self._app = rv = self.loader() 文件“C:\Users\Esam\AppData\Local\Programs\Python\Python39-32\Lib\site-packages\flask\cli.py”,第 381 行,在 load_app app = locate_app(self, import_name, name) 文件“C:\Users\Esam\AppData\Local\Programs\Python\Python39-32\Lib\site-packages\flask\cli.py”,第 246 行,位于 locate_app 引发 NoAppException( flask.cli.NoAppException:无法导入“应用程序”。

【问题讨论】:

  • 您找到解决方案了吗?我有同样的问题。我可以很好地运行生产环境,但是当我切换到开发环境时,它会触发您上面的错误。

标签: python html python-3.x flask jinja2


【解决方案1】:

根据您使用的机器,您需要执行以下操作之一:

Unix Bash(Linux、Mac 等):

$ export FLASK_APP=hello
$ flask run

Windows CMD:

> set FLASK_APP=hello
> flask run

Windows PowerShell:

> $env:FLASK_APP = "hello"
> flask run

【讨论】:

  • 这有什么帮助?我遇到了同样的问题,但找不到解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
相关资源
最近更新 更多