项目第四周-0:Web后端开发之Flask框架基础知识

课程资源
Flask的上下文管理机制:一大特色

谈谈对pythonweb框架的了解:

  • django:大而全、重武器。(基本框架内置)内部提供:ORM,Admin,中间键、Form,ModelForm、Session、缓存、信号、CSRF
  • flask:短小精悍,可扩展强,第三方组件丰富
  • tornado:短小精悍,异步非阻塞

Flask实例:

  1. 页面跳转
  2. 用户列表显示:字典的应用:python写法
  3. 回顾:
  • 装饰器
    项目第四周-0:Web后端开发之Flask框架基础知识_第1张图片
  1. 为什么要用:在不改变原函数的基础上,对函数执行前后进行自定义操作(函数被重新赋予定义为inner函数(实际操作还是原来的操作))
  2. 带参数的装饰器:先把参数带入得到装饰器,然后再将自定义的函数作为装饰器的参数带入得到值
  • 面向对象:类class(分类的标准),功能封装到类中,数据封装为类对象的数据;继承
  1. Flask的配置文件:讲解blog,设置settings.py

配置文件:体现是正式环境还是开发测试环境
app.config.form_object(“settings.DevelopmentConfig(一个settings中的类名)”

  1. 路由:

添加路由的两种方式:一般使用route
项目第四周-0:Web后端开发之Flask框架基础知识_第2张图片

  1. 反向生成URL
  • @app.route(’/’, endpoint=“n1”) #别名n1
  • 利用别名进行反向生成url(url_for(别名))
  • 一般用于:url很长,用别名可用于反向生成(不起别名,默认是函数名)
  1. 自定义路由转换器

路由不能为正则表达式,转换器支持转换正则表达式

  1. 获取子域名的路由:IP地址与域名之间的对应关系

可以从请求中获取子域名中的信息
应用于:博客中的个人名

汇总路由部分使用的几个点:

  1. 路由关系先创建:url,method,endpoint(默认函数名),@app.route(‘/index/< int:nid1 >’)
  2. 反向生成:url_for

遗漏知识点:

  • session和cookie机制:发送请求,开辟空间唯一标识,下次请求讲解

用户登录页面:记住用户名的实现
Django的会话机制:不同的用户登录,创建不同的session,相应请求的编号以Cookie放入response相应对象

首次请求浏览器已经存入sessionid:0001,下次请求将浏览器本地的cookie携带在请求对象request里面;
拿取cookies.get(要取的内容)
项目第四周-0:Web后端开发之Flask框架基础知识_第3张图片

  • 请求钩子:客户端与服务器交互过程中,有些准备工作或扫尾工作需要处理

请求开始时:建立数据库连接、权限校验;
请求结束时:指定数据的交互格式

  • 上下文管理:
  1. 上下文:context(环境)代码执行到某一行时,根据之前代码所做的操作以及下文即将要执行的逻辑,可以决定在当前时刻可以使用到的变量,或者可以完成的事情
    项目第四周-0:Web后端开发之Flask框架基础知识_第4张图片
  1. python多线程threading:
    讲解
  2. threading.local

你可能感兴趣的:(python,开发项目,flask框架)