Python笔记-Flask的搭建及基本使用

安装Flask

pip install Flask
pip install -r requirements.txt

下面是flask的启动

flask run
flask run --host 0.0.0.0
flask run --help

#windows下
set FLASK_APP=index_1.py
#Linux下
export FLASK_APP=index_1.py

优化程序,不要这么多命令就能运行。直接python运行

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

如下面这个Hello World程序:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World"

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

运行截图如下:

Flask为什么可以独立运行

在Flask源码中可以看到

这里的Werkzeug:WSGI工具包,作为web框架底层库。

当用户发起请求时:web browser -> web server -> WSGI server
服务器回数据:WSGI server -> web server -> web browser
 

如下简单的程序

class Shortly(object):
    def __call__(self, environ, start_response):
        start_response("200 ok", [("content-Type", "text / plain")]);
        return [b"HelloWord"]

if __name__ == "__main__":
    from werkzeug.serving import run_simple
    app = Shortly()
    run_simple("0.0.0.0", 5001, app)

程序运行截图如下:

另外一个例子:

from werkzeug.wrappers import Request, Response

class Shortly(object):
    def __call__(self, environ, start_response):
        request = Request(environ)
        text = "hello World"
        response = Response(text, mimetype = "text/plain")
        return response(environ, start_response)

if __name__ == "__main__":
    from werkzeug.serving import run_simple
    app = Shortly()
    run_simple("0.0.0.0", 5001, app)

如果要传参数:

from werkzeug.wrappers import Request, Response

class Shortly(object):
    def __call__(self, environ, start_response):
        request = Request(environ)
        text = "hello World %s" % (request.args.get("a", "IT1995"))
        response = Response(text, mimetype = "text/plain")
        return response(environ, start_response)

if __name__ == "__main__":
    from werkzeug.serving import run_simple
    app = Shortly()
    run_simple("0.0.0.0", 5001, app)

程序运行截图如下:

下面是项目中常用的启动方式:

使用变量的方式启动DEBUG

from flask import Flask

app = Flask(__name__)
app.config["DEBUG"] = True

@app.route("/")
def hello():
    return "Hello World"

if __name__ == "__main__":
    app.run(host = "0.0.0.0")
使用文件

一般都用这种

from flask import Flask

app = Flask(__name__)
app.config.from_pyfile("config/base_setting.py")

@app.route("/")
def hello():
    return "Hello World"

if __name__ == "__main__":
    app.run(host = "0.0.0.0")

这里新建的config目录下的base_setting.py

DEBUG = True
发布了1269 篇原创文章 · 获赞 1970 · 访问量 179万+

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/104518727