404真正基本的python烧瓶app

时间:2017-04-11 04:50:00

标签: python web-applications flask

使用python编写我的第一个Web应用程序,无法获得导入/路由概念

我的app / init.py

from flask import Flask

app = Flask(__name__)
from app import t


if __name__ == '__main__':
    app.run(host='127.0.0.1', port=3000, debug=True)

然后,我的app / t.py:

from app import app

@app.route('/')
def index():
    return 'hi!'

http://127.0.0.1:3000/ - 未找到:(

任何合理的理由?

PS。当我将路由放到我的init.py中时,一切都像魔术一样

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'hi!'

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=3000, debug=True)

所以我虽然必须有导入东西的方式:/

3 个答案:

答案 0 :(得分:0)

flask命令与flask.run方法完全不同。您可以使用命令

中的传递参数

您是否尝试过:flask run -h localhost -p 3000

答案 1 :(得分:0)

使用Flask CLI(命令行界面)运行Flask应用程序时,app.run(??)可能无法执行。当您运行python app.py时,它本身就是Python本身,它将首先执行 init 方法。之后将执行init方法中定义的所有内容。因此,当其他程序调用{​​{1}}时,app.py方法永远不会运行。

在您的情况下,烧瓶运行只需在您的文件中获取应用程序上下文并尝试使用默认端口运行。您可以明确地将__init__--port传递给所需的-p

答案 2 :(得分:0)

这是在使用一些烧瓶应用程序后最适合我的骨架。

.
├── app
│   ├── __init__.py
│   └── t.py
└── run.py

其中__init__.py

from flask import Flask

app = Flask(__name__)
from app import t

t.py

from app import app

@app.route('/')
def index():
    return 'hi!'

run.py

from app import app

if __name__ == '__main__':
   app.run(host='127.0.0.1', port=3000, debug=True)

这样您就可以使用python run.py运行服务器。这将为您节省使用flask run命令在生产中启动其他服务器的麻烦。