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. 剑指offer 数字翻译成字符串

    0 -> 'a', 1->'b', ..., 11 -> 'l', ..., 25->'z'. 计算一个数有多少种不同的翻译方法. 分析:记f[i]表示从第i位起的不同翻译数目 ...

  2. ALV打印不显示打印界面的问题

    用OO的方式screen0 不画屏幕会产生这个问题,解决办法就是不用screen0 要自己画一个区域

  3. spring-cloud学习BUG

    1.com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: c ...

  4. 安卓-去除ActionBar的方法

    今天做一个播放器项目,由于要去除ActionBar,纠结好久,原来这么简单 记录一下 只需要修改AndroidManifest.xml文件中的主题即可 <application android: ...

  5. Qualcomm_Mobile_OpenCL.pdf 翻译-2

    2  Opencl的简介 这一章主要讨论Opencl标准中的关键概念和在手机平台上开发Opencl程序的基础知识.如果想知道关于Opencl更详细的知识,请查阅参考文献中的<The OpenCL ...

  6. JDK12的安装搭建

    JDK12的安装搭建 一.JDK下载 ​ 1.JDK官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-down ...

  7. CSS札记(二):级联与继承

    一.级联 概念:级联(The cascade),CSS是Cascading Style Sheet的简写,说明级联是非常重要的.从表层来看,级联表明CSS规则的顺序问题,但是级联远比这个复杂,在所有的 ...

  8. 数据库管理哪家强?Devart VS Navicat 360°全方位对比解析

    今天小编向大家推荐的是两个开发环节的主流数据库管理品牌,那么你知道这两款数据库管理软件品牌与数据库引擎配套的管理软件有什么区别吗?小编这就360°全方位为您解答: ★ 品牌介绍 Devart:拥有超过 ...

  9. ZROI 19.08.07模拟赛

    传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "正睿从来没有保证,模拟赛的题目必须原创." "文案不是我写的,有问题找喵老师去."--蔡老师 ...

  10. #python#return和print的一些理解

    https://www.jianshu.com/p/18a6c0c76438 代码 (1) ++++++++++++++++++++++++++++++++++ x = 1y = 2def add ( ...