Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

sun菜菜  2018-01-08 15:08:12

阅读目录(Content)

  • 一、Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来)

  • 与Django的简单比较

  • 二、基本使用

  • 1.实例化Flask对象时,可选的参数

  • 2.Flask中装饰器应用

  • 4.请求响应相关

  • 1.获取请求数据,及相应

  • 2.flask中获取URL后面的参数(from urllib.parse import urlencode,quote,unquote)

  • 三、配置文件

  • 四、路由系统

  • 1.可传入参数:

  • 2.反向生成URL: url_for

  • 3. @app.route和app.add_url_rule参数

  • 4.自定制正则路由匹配

  • 五、视图函数

  • 1.Django中的CBV模式

  • 2.Flask中的CBV

  • 六、请求与响应

  • 七、模板语法

  • 1、模板的使用

  • 1.为了防止xss攻击,加了验证,所以页面上显示字符串的形式,解决办法,有两种方法

  • 2、自定义模板方法

  • 3.宏

  • 八、Session

  • 九、蓝图

  • 十、闪现(flash)

  • 1、本质

  • 2、闪现的用途

  • 十一、中间件

  • 十二、请求扩展

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用。小编推荐大家加一下这个群:103456743这个群里好几千人了!大家遇到啥问题都会在里面交流!而且免费分享零基础入门料资料web开发 爬虫资料一整套!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!很快满员了。欲进从速哦!各种PDF等你来下载!全部都是免费的哦!只为帮助大家快速入门,所以小编在群里等你们过来一起交流学习呢!

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

1.实例化Flask对象时,可选的参数

template_folder:模板所在文件夹的名字

root_path:可以不用填,会自动找到,当前执行文件,所在目录地址

在return render_template时会将上面两个进行拼接,找到对应的模板地址

static_folder:静态文件所在文件的名字,默认是static,可以不用填

static_url_path:静态文件的地址前缀,写成什么,访问静态文件时,就要在前面加上这个

app = Flask(__name__,template_folder='templates',static_url_path='/xxxxxx')

如:在根目录下创建目录,templates和static,则return render_template时,可以找到里面的模板页面;如在static文件夹里存放11.png,在引用该图片时,静态文件地址为:/xxxxxx/11.png

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

添加路由关系的本质:将url和视图函数封装成一个Rule对象,添加到Flask的url_map字段中

2.Flask中装饰器应用

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

debug = True 是指进入调试模式,服务器会在 我们的代码修改后, 自动重新载入,有错误的话会提醒,每次修改代码后就不需要再手动重启

点击查看详情

4.请求响应相关

1.获取请求数据,及相应

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

三、配置文件

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

四、路由系统

1.可传入参数:

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

2.反向生成URL: url_for

endpoint("name") #别名,相当于django中的name

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

4.自定制正则路由匹配

扩展Flask的路由系统,让他支持正则,这个类必须这样写,必须去继承BaseConverter

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

五、视图函数

1.Django中的CBV模式

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

2.Flask中的CBV

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

六、请求与响应

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

七、模板语法

1、模板的使用

Flask使用的是Jinja2模板,所以其语法和Django无太大差别

Flask中模板里面,执行函数时,需要带()才执行

1.为了防止xss攻击,加了验证,所以页面上显示字符串的形式,解决办法,有两种方法

方法一:在后端使用Markup,等价于Django里的mark_safe

方法一:在后端使用Markup,等价于Django里的mark_safe

v = Markup("<input type='text' />")

方法二:在前端使用safe

{{ v1|safe }}

2、自定义模板方法

Flask中自定义模板方法的方式和Bottle相似,创建一个函数并通过参数的形式传入render_template,

run.py

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

3.宏

只有定义的东西在很多地方去使用的时候才去用它,

html

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

八、Session

除请求对象之外,还有一个 session 对象。它允许你在不同请求间存储特定用户的信息。它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设置一个密钥。

  • 设置:session['username'] = 'xxx'

  • 删除:session.pop('username', None)

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

九、蓝图

蓝图用于为应用提供目录划分:

小型应用程序:示例

大型应用程序:示例

其他:

  • 蓝图URL前缀:xxx = Blueprint('account', __name__,url_prefix='/xxx')

  • 蓝图子域名:xxx = Blueprint('account', __name__,subdomain='admin')

    # 前提需要给配置SERVER_NAME: app.config['SERVER_NAME'] = 'hc.com:5000'

    # 访问时:admin.hc.com:5000/login.html

十、闪现(flash)

session存在在服务端的一个字典里面,session保存起来,取一次里面还是有的,直到你删除之后才没有了

1、本质

flash是基于session创建的,flash支持往里边放值,只要你取一下就没有了,相当于pop了一下。不仅可以拿到值,而且可以把其从session里的去掉,

基于Session实现的用于保存数据的集合,其特点是:使用一次就删除。

2、闪现的用途

某个数据仅需用一次时,可以使用闪现

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

十一、中间件

在函数执行之前或函数执行之后想做点事情,有2种方式

第一种:装饰器

第二种:flask里面的扩展,相当于django中的中间件

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

运行结果:

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

还有一个@app.before_first_request:表示,当程序运行起来,第一个请求来的时候就只执行一次,下次再来就不会在执行了

十二、请求扩展

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

Flask是Python web最火热三大框架之一!给我两小时带你完全入门

谢谢阅读,如有侵权请联系小编删除哦!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值