介绍
这篇文章主要介绍瓶框架一般要学多久,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
相信学过Python的小伙伴,肯定都知道瓶这个web开发框架,但是并不是所有人都了解它,下面说一说瓶这个框架该怎么学,要学多久才能掌握。
首先,<强>什么是瓶强>
瓶是一个基于Python并且依赖于Jinja2模板引擎和Werkzeug WSGI服务的一个微型框架
烧瓶中包含一个轻量级的web服务器主要用于在开发阶段测试使用
<强> Falsk使用MTV框架模式强>
MTV框架模式
M:模型、模型层,主要负责根据数据库建模
T:模板、模板层,处理用户的显示的内容的,如:html
V:观点,视图,处理与用户交互的内容(请求和响应)
下面我们从模板、视图和模型这三个部分来了解下瓶框架
<强>模板强>
模板这部分主要讲解以下几个部分:
过滤器
语法: {{变量|过滤器}} Jinja2模板中常用的过滤器有: capitalize ,,,,首字符变大,写其他字符变小写 lower ,,,,,,,,,将值转换为小写字符 upper ,,,,,,,,,将值转换为大写字符 title ,,,,,,,,,将值中的每个单词的首字符变大写 trim ,,,,,,,,,,去掉值两端的空格
标签(循环遍历可迭代对象)
{%,for 变量,拷贝列表|元组|字典,%} {%,endfor %} 对标签中的内置对象循环 loop.index 获取下标 loop.index0 从0开始的下标 loop.first 真/假 loop.last ,真/假
宏
下面是一个关于烧瓶中宏的用法的实例: & lt; !——,声明宏:接收一个字符串作为参数,将参数放p中打印输出,——比; {%,macro showP (str), %} ,,,& lt; h4>使用宏显示的内容:& lt;/h4> ,,,& lt; p> {{str}} & lt;/p> {%,endmacro %} & lt; !——,使用宏,——比; & lt; div> ,,,{%,for name 拷贝params.list %} ,,,,,,,{{showP(名字)}} ,,,{%,endfor %} & lt;/div> & lt; !——,引入外部的宏,——比; {%,import & # 39; macros.html& # 39;, as 小姐%} {%,for name 拷贝params.list %} ,,,{{ms.show_p(名字)}} {%,endfor %}
继承
父模板中: {%,block title %} ,,,父模板中的内容 {%,endblock %} 子模板中: {%,extends & # 39;父模板. html # 39;, %} {%,block title %} ,,,子模板中的内容 {%,endblock %} 子模板中的内容会覆盖父模板中的内容
自定义404/500等错误页面
1.404,的错误处理 @app.errorhandler (404) def page_not_fount (e): return render_template (& # 39; 404. html # 39;), 404年 2.500,的错误处理 @app.errorhandler (500) def internal_server_error (500): return render_template (& # 39; 500. html # 39;), 500年 500.和404. html html 需要自定义
<强>视图强>
视图这部分主要讲解以下几个部分:
路由
请求方法
url反向解析
请求对象
响应响应
文件上传
会话cookie
<强>路由
强>
一:基本路由的配置: # http://127.0.0.1:5000 @app.route (& # 39;/& # 39; def 指数(): return “xxx" 二:带参数路由的配置: 1 .基本带参数的路由 @app.route(& # 39;/显示/& lt; name> & # 39;) def show1(名称): 名称:表示的就是地址栏上传递的数据 通过 2 .指定参数类型的路由 @app.route(& # 39;/显示/& lt; name>/& lt; int: age> & # 39;) def 显示(姓名、年龄): name :字符串 时间:age 整数 可选的参数类型为,int float 路径(字符串,可以有斜杠/) 三:多个路由的配置: @app.route(& # 39;/地址1 & # 39;) @app.route(& # 39;/地址2 & # 39;) … def 指数(): 通过
<强>请求方法强>
在烧瓶中默认只能接收得到请求,帖子请求无法接收,但是可以手动设置请求的接收方式。
下面的函数既能接收得到请求又能接收后请求 @app.route (& # 39;/xxx # 39;方法=[& # 39;文章# 39;& # 39;得到# 39;]) def , xxx (): ,,,通过瓶框架一般要学多久