1.初识Flask

Flask主要有两个依赖 是WSGI(Web Server GateWay InterFace, Web服务器的工具集--Werkzeug, 和Jinja2模板引擎)

1.1 搭建开发环境

    1.1.1 Pipenv工作流

        $ pip --version

        $ pip install <包名称>

        # 安装pipenv

        $ pip install pipenv

        在linux或macOS系统中使用sudo以全局安装

        $ sudo pip install pipenv

        创建虚拟环境

        到项目目录的跟目录下执行以下代码

        pipenv install

        使用pipenv shell 显示的激活虚拟环境


Flask依赖包

    Jinja2(模板渲染引擎), MarkupSafe(html转义工具), Werkzeug(WSGI工具集), click(命令行工具), itsdangerous(提供各种加密签名功能)


Hello, Flask!


from flask import Flask

#创建程序实例

app = Flask(__name__)

#注册路由

@app.route("/")

def index():#定义视图函数

    return "

Hello Falsk

""



为视图绑定多个URL

@app.route("/h1")

@app.route("/hello")

def say_hello():

    return  "

Hello Falsk

""



动态URL

@app.route("/greet/')

def great(name):

    return "

Hello, %s

" % name



启动开发服务器

flask run

# 默认启动主程模块名为app.py

# 旧的启动开发服务器的方式是使用app.run()方法 目前已不推荐使用(deprecated)

set FLASK_APP=hello # 更改启动模块为hello

管理环境变量

pipenv install python-dotenv

在项目根目录下分别创建.env  和 .flask两个文件  .env存储含敏感信息的环境变量

环境变量使用键值对的形式定义 每行一个 以#开头的为注释

FOO="BAR"

FLASK_APP=hello

# 开启支持开发的特性

FLASK_ENV=development


更多的启动选项

flask run --host==0.0.0.0

flask run --port=8000


重载器

pip install watchdog


Flask 拓展

from flask import Flask

from flask_sqlalchemy import SQLalchemy

app = Flask(__name__)

db = SQLalchemy(app) # 拓展


1.6项目配置

app.config["ADMIN_NAME"] = "Artio"

app.config.update(TESTING=True,SECRET_KEY="your secretkey"

读取项目配置

value = app.config["ADMIN_NAME"]


1.7 URL与端点

@app.route("/")

def index():

    return "Hello, Flask"

默认路由的端点即为视图函数的名称, 调用url_for("index") 即可获取对应的URL, 即”/"

显示的定义端点

@app.route("/", endpoint="index")

def index123():

    return "Hello, Flask"

对于含有动态URL的端点 我们需要在url_for函数里传入相应的参数 即可获取对应的URL

@app.route("/hello/")

def greet(name):

    return "Hello, %s" % name

这时使用url_for("greet", name="Artio") 得到的URL为”/hello/Artio“


1.8 Flask命令

import click

from flask import Flask

app = Flask(__name__)

@app.cli.common()

def hello():

    click.echo("Hello, Humna!")

# 在这里我们定义了一个hello的命令 

$ flask hell0

>>Hello, Human


1.9 模板与静态文件

默认的我们将模板放在templates目录下  静态文件(css, js)等文件放在static目录下

文件树如下

hello/

    - templates/

    -static/

    -app.py


1.10 Flask与MVC架构

    M Model

    V Views

    C Controller

你可能感兴趣的:(1.初识Flask)