Flask入门
1.认识flask
python后端框架之一,轻量级,可以自由组合需要的组件。
官网:https://dormousehole.readthedocs.io/en/latest/
安装:pip install flask -i https://pypi.douban.com
版本:python3.5以上
2.学习内容
(1)flask路由,用来匹配url(2)request对象 请求的参数等(3)模板(4)flask数据库(5)flask表单(6)ajax相关(7)其它(8)管理系统案例
3.flask路由
路由的作用就是把浏览器请求额url和后端资源(页面,函数方法等)相匹配,当浏览器请求相关url的时候能够访问到对应的资源。
这里要注意几个地方:
1.methods,当指定get或者post请求方式的时候,必须利用该方式才能访问到
2.若两个资源在同一个路由下,即同样的路径,只会执行先定义的方法。
1 | from flask import Flask |
3.若两个资源不在同一路径,但是方法重名,则会报错,如下:
1 | from flask import Flask |
4.变量规则
前端传给后台的url中可以包含变量,后端读取这些变量进行特定处理。
1 | from flask import Flask |
5.自定义转换器
转换器可以自定义,作用相当于自己指定不同的正则表达式来限制浏览器输入的数据。
1 | # 自定义转换器 |
流程:新建自定义类——>将类以字典格式添加进url_map——>接受浏览器传入的参数,若符合正则,则将浏览器的值传给服务器的函数处理,否则,直接终止,给浏览器反馈资源错误。
6.渲染form表单
form表单就是前端提交的某种特定格式的数据,用于传给后端处理并进行数据交互。
前端的表单:
1 |
|
flask表单渲染:
1 | from flask import Flask,render_template |
7.request对象
request对象的作用就是指定后端允许接收的数据传输方法,比如get,post等;同时request还负责读取前端传输的数据,交给服务器进一步处理等等。
1 | from flask import Flask,render_template,request |
效果:
8.重定向
1 | # 重定向 状态码302 在访问网页的时候,跳转到其他的网页,但之前的网页仍可用 |
更多用法参考:https://blog.csdn.net/lovedingd/article/details/106671247
9.返回json数据给前端
将python对象转化为json对象并返回给前端,有两种方法,1是用json.dumps(data,ensure_ascii=False)直接转化,2是用flask的jsonify方法。
1 | from flask import Flask,make_response,json,jsonify |
10.abort函数
abort函数主要是用来给前端返回一些异常抛出的页面,比如访问的权限不够等。
1 | # abort 在网页当中抛出异常 |
11.自定义异常
当abort的时候会跳转到errorhanler处,并且返回自定义的错误页面。
12.模板的基本使用
这部分主要就是把后端的数据传给前端进行渲染,包括字符和列表在前端的模板语法。
1 | # 模板 jinja2 |
index2.html:
1 |
|
13.过滤器
就是对模板中的字符进行一些额外函数操作,使其变形为特定格式,即过滤器是对前端进行操作的。比如:
1 | {{'hello world' | upper}} |
比如upper就是全大写,title就是每个单词大写,replace就是单词替换。
14.自定义过滤器
1 | # 自定义过滤器 这里首先自定义一个操作的函数 |
1 | {{data.mylist | step}} |