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

Flask基础总结的更多相关文章

  1. flask基础之AppContext应用上下文和RequestContext请求上下文(六)

    前言 应用上下文和请求上下文存在的目的,官方文档讲的很清楚,可参考: http://www.pythondoc.com/flask/appcontext.html 应用上下文对象在没有请求的时候是可以 ...

  2. flask基础之请求处理核心机制(五)

    前言 总结一下flask框架的请求处理流程. 系列文章 flask基础之安装和使用入门(一) flask基础之jijia2模板使用基础(二) flask基础之jijia2模板语言进阶(三) flask ...

  3. flask基础之app初始化(四)

    前言 flask的核心对象是Flask,它定义了flask框架对于http请求的整个处理逻辑.随着服务器被启动,app被创建并初始化,那么具体的过程是这样的呢? 系列文章 flask基础之安装和使用入 ...

  4. flask基础之jijia2模板语言进阶(三)

    前言 前面学习了jijia2模板语言的一些基础知识,接下来继续深挖jijia2语言的用法. 系列文章 flask基础之安装和使用入门(一) flask基础之jijia2模板使用基础(二) 控制语句 和 ...

  5. flask基础之jijia2模板使用基础(二)

    前言 在以前前后端不分离的时代,后台程序员往往又当爹又当妈,需要将前端程序员写的h5页面填充模板语言.而jijia2是一门十分强大的python的模板语言,是flask框架的核心模块之一.先简单介绍一 ...

  6. 笔记-flask基础操作

    笔记-flask基础操作 1.      前言 本文为flask基础学习及操作笔记,主要内容为flask基础操作及相关代码. 2.      开发环境配置 2.1.    编译环境准备 安装相关Lib ...

  7. Flask基础(16)-->WTForms表单创建和简单验证

    Flask基础(16)-->WTForms表单创建和简单验证 前言:使用Flask_WTF需要配置参数SECRET_KEYCSRF_ENABLED是为了CSRF(跨站请求伪造)保护.SECRET ...

  8. Flask基础(14)-->自定义过滤器

    Flask基础(13)-->自定义过滤器 什么是过滤器? 过滤器的本质就是函数.有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化.运算等等,而在模板中是不能直接调用 P ...

  9. Flask基础(13)-->Flask扩展Flask-Script

    Flask基础(12)-->Flask扩展Flask-Script # 前提是安装了Flask-Script # 联网运行 pip install flask-script from flask ...

  10. Flask基础(06)-->视图常用逻辑

    Flask基础(06)-->视图常用逻辑 返回json 重定向:url_for 自定义状态码 返回json:在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,在 Flask 中 ...

随机推荐

  1. 深入理解JVM-垃圾回收器

    摘要: JVM垃圾回收器 看完<深入理解JVM>,结合网上资料后根据跟人理解整理出的简洁版,主要关注是什么, 怎么做到的,特点等,没有进入深入剖析,旨在快速了解,具体应用时个人再根据具体点 ...

  2. Eclipse 配置 tomcat

    1.第一步 去官网下载 进入点击 Downloads 点击如图位置下载 我下载的是 apache-tomcat-7.0.82.zip(图片中不是,但都是一样的) 我解压到D:\tomcat\apach ...

  3. Java面试总结 -2018(补录)

    参考详见:https://blog.csdn.net/jackfrued/article/details/44921941 https://blog.csdn.net/jackfrued/articl ...

  4. python程序超时处理 timeout_decorator

    如下两个例子,实现对某个函数的超时处理(其实就是加了一个装饰器timeout): 成功例子: 代码: import time import timeout_decorator @timeout_dec ...

  5. Delphi 源代码生成器

  6. Arm宣布将在Linux中应用事务内存扩展支持

    事务内存扩展是Arm对硬件事务内存的支持,用于改进对大型共享数据结构的并发访问. 在宣布事务性内存扩展和可伸缩向量扩展2时,Arm表示他们将很快为GNU工具链和LLVM提供支持.正如我们已经看到的,为 ...

  7. (转)linux下weblogic12c集群的安装部署

    本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...

  8. [易学易懂系列|golang语言|零基础|快速入门|(四)]

    今天开始,我们来写代码. 学习一门语言,最快的方式就是写代码,做项目. 别的学习教程,都是hello world. 我们就来点不一样的吧.我们不一样!不一样!不一样! 首先,打开VSCODE.( 关于 ...

  9. u-boot中bss段的使用

    近日在调试uboot时,发现了一个现象,即在relocate_code前如果给未初始化或者初始化值为0的变量赋值的话,则在relocate_code后程序无法正常执行.经过学习,恶补如下知识 BSS段 ...

  10. 【洛谷P2647】最大收益

    题目大意 现在你面前有n个物品,编号分别为1,2,3,--,n.你可以在这当中任意选择任意多个物品.其中第i个物品有两个属性Wi和Ri,当你选择了第i个物品后,你就可以获得Wi的收益:但是,你选择该物 ...