Flask框架重要知识点总结归纳 (完整版)

 

一、flask

     a、Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器

     b、“微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。

     c、默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用。

二、安装

      a、安装:

pip3 install flask

三、虚拟环境

      a、安装:

pip3 install virtualenv

      b、# 创建虚拟环境 

virtualenv env1

      c、# 进入虚拟环境 

Scripts/activate

      d、 # 退出虚拟环境 

Scripts/deactivate

四、flask框架

      a、简介:轻量级框架
                     Django:无socket、中间件、路由系统、视图(CBV,FBV)、 模板、ORM、cookie、Session、Admin、Form、缓存、信号、序列化....
                     Flask:无socket、中间件(扩展)、路由系统、视图(CBV)、第三方模板(jinja2)、cookie、Session弱爆了

      b、 什么是wsgi?
                           Web服务网管接口,协议。

      c、Flask依赖一个实现了WSGI协议的模块:werkzeug

五、flask

       a、 -依赖于wsgi模块:wsgiref,werkzeug,wsgi

       b、  -实例化Flask对象

                  -静态文件前缀  /xxx

                  -静态文件目录

                  -模板路径

        c、 添加路由关系      

                  -将 Rule(url和视图函数)添加到Flask对象的url_map字段中

                  -两种添加路由的方式

        d、request

                 -request.form

                 -request.args 

六、基本使用

from flask import Flask

# 实例化Flask对象
app = Flask(__name__)

# 生成路由关系,并把关系保存到某个地方,app对象的 url_map字段中
@app.route('/xxxx')  # @decorator
def index():
    return "Index"

# def index():
#     return "Index"
# app.add_url_rule('/xxx', "n1", index)

if __name__ == '__main__':
    # 启动程序,监听用户请求
    # 一旦请求到来,执行 app.__call__方法
    # 封装用户请求
    # 进行路由匹配
    app.run()

     a、保存session的数据存到了浏览器上,
        - 优点:减轻了服务端的压力
        - 缺点:不安全

     b、路由系统:  

  • @app.route('/post/<path:path>')
  • @app.route('/login', methods=['GET', 'POST'])
  • @app.route('/user/<username>')
  • @app.route('/post/<int:post_id>')
  • @app.route('/post/<float:post_id>')

七、路由系统

     a、  -可传入参数     

            @app.route('/user/<username>')

            @qpp.route('/post/<int:post_id>',methods=['GET','POST'],endpoint='fff')

     b、反向生成URL:url_for

     c、

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask是一个轻量级的Python Web框架,它具有简洁灵活、易扩展的特点。以下是Flask框架知识体系的主要内容: 1. 路由和视图函数:掌握使用装饰器定义路由和编写对应的视图函数,实现URL与函数的映射关系。 2. 模板引擎:学习使用Jinja2模板引擎,实现页面的动态渲染,将数据传递给模板并生成最终的HTML页面。 3. 请求和响应:了解HTTP请求的处理流程,学习获取请求参数、处理请求、生成响应等操作。 4. 表单处理:学习使用Flask-WTF或其他相关扩展处理表单数据的验证、提交和处理。 5. 数据库集成:掌握使用SQLAlchemy等数据库扩展连接和操作数据库,实现数据的持久化存储。 6. 蓝图(Blueprint):了解蓝图的概念和用法,将应用拆分成多个模块,提高代码的组织性和可维护性。 7. 中间件:学习使用中间件来处理请求和响应,实现一些通用功能,如请求日志、异常处理等。 8. 认证和授权:了解用户认证和授权的机制,学习使用Flask-Login等扩展实现用户登录、权限控制等功能。 9. 文件上传和静态文件:学习处理文件上传,配置和使用静态文件(如CSS、JavaScript、图片等)。 10. 错误处理和日志:掌握处理异常和错误的方式,学习使用Flask提供的日志功能进行日志记录和调试。 11. 测试和部署:了解如何编写测试用例,学习使用测试框架进行单元测试、集成测试等。掌握如何部署Flask应用,如使用uWSGI、Gunicorn等部署到生产环境。 除了以上的内容,还可以进一步学习Flask的扩展和插件生态系统,如Flask-RESTful、Flask-Security、Flask-Cache等,以及与其他技术栈的整合和应用,如与前端框架(如React、Vue)、数据库(如MySQL、MongoDB)的结合等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值