debugging flask 未激活调试模式

zf9nrax1  于 2023-04-06  发布在  其他
关注(0)|答案(7)|浏览(195)

我正在开始使用Flask,我试图遵循一些教程,但我无法在调试模式下运行Flask应用程序。
我尝试了我找到的最简单的代码:

from flask import Flask
app = Flask(__name__)

app.debug = True
# I have also tried with a configuration
# app.config.from_object('config')
# file with constant
# DEBUG = True

@app.route('/')
def hello_world():
    return 'Hello World!'

然后我就跑

export FLASK_APP=hello_world.py
flask run

但我总是得到这样的输出

* Serving Flask app "hello_world.py"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

当我运行print(app.debug)时,我得到False
这是pip freeze的输出:

click==7.1.2
Flask==1.1.2
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
Werkzeug==1.0.1

Python 3.8.2

w1jd8yoj

w1jd8yoj1#

我尝试了下面的步骤,它为我工作。
我已经将这几行代码添加到了我的app.py文件中。

if __name__ == "__main__":
    app.run(debug=True)

然后我使用命令行从终端运行程序

python3 app.py

而且成功了
请查看下面的截图

goqiplq2

goqiplq22#

如果你使用的是windows,只需在终端中输入以下内容:
在PowerShell中:

$env:FLASK_ENV = "development"
flask run

在命令提示符下:

C:\path\to\app>set FLASK_ENV=development
flask run

对于Mac,您可能需要运行以下命令:

$ export FLASK_ENV=development
$ flask run

enjoy!!

0lvr5msh

0lvr5msh3#

试试这个:
当你跑的时候,

export FLASK_APP=hello_world.py

在上面之后运行此命令,

export FLASK_DEBUG=1

最后

flask run

我希望这将启动调试模式。

rmbxnbpk

rmbxnbpk4#

有两种方法可以运行Flask App。

  • 环境变量
  • 程序化地
    环境变量需要使用窗口set FLASK_APP = *(file_name)*的命令exportingFLASK_APP文件。
set FLASK_APP = app.py`

对于mac

export FLASK_ENV=development

您还可以通过导出FLASK_DEBUG=1来独立于环境控制调试模式。(set命令用于macexport命令用于window

set FLASK_APP = app.py
set FLASK_DEBUG=1

但有时调试器在生产服务器上不起作用,在生产机器上使用调试器是一个主要的安全风险。

程序上你必须在你的Flask www.example.com主文件中包含main部分app.py。它将在调试模式下轻松运行你的应用程序,但不要使用flask run命令,只使用python (file_name)命令。

from flask import Flask
app = Flask(__name__)

app.debug = True

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(debug=True)
python app.py
lkaoscv7

lkaoscv75#

  • 确保你运行的是正确的程序,有时候我们会在其他程序中进行更改,然后运行其他程序。
  • 还要确保设置app.debug = True与设置FLASK_DEBUG模式为on完全不同。

试试这个,我这边管用。

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == "__main__":
    app.run(debug=True)
vzgqcmou

vzgqcmou6#

显然,因为调试模式已经关闭,停止和重新运行它没有工作。添加下面的行到app.py并保存。

if __name__ == "__main__":
app.run(debug=True)

重新启动编辑器.然后运行

set FLASK_DEBUG=1

然后运行您的项目

python3 app.py
yvfmudvl

yvfmudvl7#

我也遇到了同样的问题。我通过flask run运行应用程序。我的调试总是保持关闭。然后我尝试通过python www.example.com运行它app.py,然后调试打开。
因此,只需尝试运行“pythonapp.py”

相关问题