Flask基础

HTTP通讯过程
客户端:
    客户端将请求打包成HTTP的请求报文(HTTP协议格式的请求数据),采用TCP传输发送给服务器端
服务器:
    服务器接收到请求报文后按照HTTP协议进行解析,根据解析后获知的客户端请求进行逻辑执行
    服务器将执行后的结果封装成HTTP的响应报文(HTTP协议格式的响应数据)使用TCP连接将响应报文发送给客户端
客户端:
    客户端按照HTTP协议解析响应报文获取结果数据
    
WEB框架的主要作用:实现路由和视图(业务逻辑处理)
web开发的任务:根据客户端请求实现业务逻辑(视图)编写

flask框架简介
Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展,都需要用第三方的扩展来实现。
Flask没有默认使用的数据库,可以选择MySQL,也可以用NoSQL。其WSGI工具箱采用 Werkzeug(路由模块) ,模板引擎则使用 Jinja2 。

与Django相比:Django提供了
    - django-admin快速创建项目工程目录
    - manage.py 管理项目工程
    - orm模型(数据库抽象层)
    - admin后台管理站点
    - 缓存机制
    - 文件存储系统
    - 用户认证系统

而这些,flask都没有,都需要扩展包来提供,常见扩展模块:
    - Flask-SQLalchemy:操作数据库
    - Flask-migrate:管理迁移数据库
    - Flask-Mail:邮件
    - Flask-WTF:表单
    - Flask-script:插入脚本
    - Flask-Login:认证用户状态
    - Flask-RESTful:开发REST API的工具
    - Flask-Bootstrap:集成前端Twitter Bootstrap框架
    - Flask-Moment:本地化日期和时间


flask请求处理流程:
    当客户端想要获取资源时,一般会通过浏览器发起HTTP请求,Web服务器使用WSGI(Web Server Gateway Interface)协议把来自客户端的请求都交给Flask程序实例;
    Flask使用Werkzeug来做路由分发,其根据每个URL请求找到具体的视图函数。通过调用视图函数进行处理;
    在视图函数处理获取到数据后,把数据传入HTML模板文件中,模板引擎负责渲染模板填充数据,然后由Flask返回响应数据给浏览器,最后浏览器显示返回的结果。
flask程序实例简介
Flask类初始化参数:导入路径、静态文件访问路径、静态文件目录、模板文件目录
    - import_name:导入路径(寻找静态文件目录与模板文件目录位置的参数)
    - static_url_path:访问静态资源的URL前缀,以此确定访问的路径是静态资源还是视图函数(默认为static:http://127.0.0.1:5000/static/index.html)
    - static_folder:静态文件目录(以当前模块所在目录为基准进行寻找)
    - template_folder:模板文件目录
    
flask程序实例配置参数使用:文件、对象、字典的形式
        app.config.from_pyfile()
        app.config.from_object()
        app.config["配置项"] = 值
视图函数获取配置项:app.config.get("配置项")、current_app.config.get("配置项")
    
app.run()参数:host port debug
    - host:主机地址(0.0.0.0)
    - port:端口
    - debug:调试模式
from flask import Flask

# flask应用实例对象:__name__为当前模块名
# flask以当前模块所在目录作为项目的工程目录:static为静态目录、templates为模板目录
app = Flask(__name__)


# 路径和视图函数使用app.route(路径)装饰器进行绑定
@app.route('/')
def hello_world():
    """定义视图函数"""
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值