Flask 基础总结
.Flask优点: 拥有强大的第三方组件小而精非常全面,不足就是更新太快
.Flask中的三剑客: HTTPRespone redierct render_template
.Flask中的request 首先要明确他与django不同的就是这里的request是引入的详细追究就要看flask中的上下文
.request中的内容有:
request.method : request 中提供之前在method中的前端请求方式
request.form : Form表单中传递过来的值
request.args : url 中传递的参数
request.values: 所有的参数
request.cookies: 是将cookies中的信息读出来
request.headres: 是将请求头中的信息全部读出
request. data : data中有所有处理不了的信息全部以Bytes形式放在里面 与django中国的request.body很相似
request.files : 存放你的是你上传的文件
request.json : 毋庸置疑请求中如果写了application/json 那么会直接返回json解析的数据
.Falsk中的模板渲染语句jinja2 有两种{% %} {}
for 循环
{%for foo in g %}
{% endfor %}
if 语句
{% if g %}
{% elif g %}
{% else %}
{% endif %}
{ } 传递字典中的参数
.jinja2 的高阶用法
safe: 类似与django中的过滤器一样 如果需要给前端传递的是一段HTML语句Flask会检测到并且阻止不去解析渲染,但是如果用safe就会安全的传输
用法: {{ tag | safe}}
.模板的继承 block在需要\继承的地方加入{% block content %} {% endblock %}在需要继承的页面中加入 {% extends "index.html" %}需要变换的内容{% endblock %}
还可以直接在继承的新页面里加入想要继承的页面比如:{% include "login.html" %}
.jinja2中的宏定义:
{% macro type_text(name,type) %}
<input type="{{ type }}" name="{{ name }}" value="{{ name }}">
{% endmacro %} <h2>在下方是使用宏来生成input标签</h2> {{ type_text("one","text") }}
{{ type_text("two","text") }} 一般用的较少有个记忆就可以
.Flask中的session是secret_key键值对储存在本地cookies中的session
.Flask中的路由 是用装饰器写的里面有很多的参数需要你了解
@app.route() 装饰器中的参数
@app.route("/login" methonds=["GET","POST"])定义此路由的请求方式是get和post默认不写时为get
@app.route("/login" mehonds=["GET","POST"],endpoint="r_info") 反向url地址
@app.route("/login" methonds = ["GET,"POST"],defaults={"nid"}:100)} 此参数的意思为在一下的函数中默认传递的参数是“nid”:1
@app.route("/login" methonds = ["GET,"POST"],strict_slashes=True)} 此参数的意思为utl地址栏中的结尾符号/ 当参数为True就必须存在,如果是False就可以不加(然并卵)
@app.route("/login", strict_slashes=True, redirect_to="/infos") 意为访问login时跳转到/infos的页面中
@app.route("/login",subdomain="little") 子域名的前缀加上一个little little.baidu.com/login (很少用)
@app.route("/login/<int:nid>", methods=["GET", "POST"], endpoint="r_info") 动态路由 很实用
.实例化Flask参数太多记住几个就可以
app.config[“DEBUG”]=True 意为每次跟新的时候自动重启
static_url_path = None, # 静态文件目录的url路径 默认不写是与static_folder同名,远程静态文件时复用
template_folder = 'templates' # template模板目录, 默认当前项目中的 templates 目录
因为参数是实在是太多所以可以直接写成一个类在调用的时候直接调用类就可以了
.蓝图
蓝图中的基本目录: static templates views manager.py

最新文章

  1. Release Management 安装 之 集成TFS
  2. Fifth scrum meeting - 2015/10/30
  3. 使用sqljdbc连接mssql数据库,maven生成jar运行后报&quot;Exception in thread &quot;main&quot; java.lang.SecurityException&quot;错误
  4. Gradle: The New Android Build System
  5. 原生JS修改标签样式为带阴影效果
  6. 清除层div浮动
  7. HDU&#160;1301&#160;Jungle&#160;Roads&#160;(最小生成树,基础题,模版解释)——同 poj 1251 Jungle Roads
  8. (hdu)5234 Happy birthday 二维dp+01背包
  9. 基于HTML5的SLG游戏开发(一):搭建开发环境(1)
  10. Hibernate 数据的批量插入、更新和删除
  11. windows composer安装
  12. egametang网络系统组件
  13. [LeetCode] Knight Probability in Chessboard 棋盘上骑士的可能性
  14. Nginx从入门到实践(三)
  15. Excel 2016 密码保护破解
  16. Win10系列:C#应用控件基础17
  17. .Net MVC 获取Response和Request对象
  18. Hadoop(三)搭建Hadoop全分布式集群
  19. (一)认识Sass和Compass
  20. ubuntu中apache2的安装与卸载

热门文章

  1. vs2013在用户控件中添加jquery智能提示
  2. SAP发布wbservice,如果有权限管控的话,需要给这个webservice加权限
  3. Git 操作 GitHub
  4. java 求数组最大子序列之和
  5. Delphi7 IDE
  6. docker 部署springboot项目【转载】
  7. c++ primer 5th(中文版)勘误
  8. SpringMVC 向页面传值-Map、Model和ModelMap
  9. DRF介绍,DRF项目开发,DRF项目的视图类的dispatch源码解析
  10. 8.0.17 MySQL Community Server 二进制手工安装