Flask基础总结
- 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基础总结的更多相关文章
- flask基础之AppContext应用上下文和RequestContext请求上下文(六)
前言 应用上下文和请求上下文存在的目的,官方文档讲的很清楚,可参考: http://www.pythondoc.com/flask/appcontext.html 应用上下文对象在没有请求的时候是可以 ...
- flask基础之请求处理核心机制(五)
前言 总结一下flask框架的请求处理流程. 系列文章 flask基础之安装和使用入门(一) flask基础之jijia2模板使用基础(二) flask基础之jijia2模板语言进阶(三) flask ...
- flask基础之app初始化(四)
前言 flask的核心对象是Flask,它定义了flask框架对于http请求的整个处理逻辑.随着服务器被启动,app被创建并初始化,那么具体的过程是这样的呢? 系列文章 flask基础之安装和使用入 ...
- flask基础之jijia2模板语言进阶(三)
前言 前面学习了jijia2模板语言的一些基础知识,接下来继续深挖jijia2语言的用法. 系列文章 flask基础之安装和使用入门(一) flask基础之jijia2模板使用基础(二) 控制语句 和 ...
- flask基础之jijia2模板使用基础(二)
前言 在以前前后端不分离的时代,后台程序员往往又当爹又当妈,需要将前端程序员写的h5页面填充模板语言.而jijia2是一门十分强大的python的模板语言,是flask框架的核心模块之一.先简单介绍一 ...
- 笔记-flask基础操作
笔记-flask基础操作 1. 前言 本文为flask基础学习及操作笔记,主要内容为flask基础操作及相关代码. 2. 开发环境配置 2.1. 编译环境准备 安装相关Lib ...
- Flask基础(16)-->WTForms表单创建和简单验证
Flask基础(16)-->WTForms表单创建和简单验证 前言:使用Flask_WTF需要配置参数SECRET_KEYCSRF_ENABLED是为了CSRF(跨站请求伪造)保护.SECRET ...
- Flask基础(14)-->自定义过滤器
Flask基础(13)-->自定义过滤器 什么是过滤器? 过滤器的本质就是函数.有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化.运算等等,而在模板中是不能直接调用 P ...
- Flask基础(13)-->Flask扩展Flask-Script
Flask基础(12)-->Flask扩展Flask-Script # 前提是安装了Flask-Script # 联网运行 pip install flask-script from flask ...
- Flask基础(06)-->视图常用逻辑
Flask基础(06)-->视图常用逻辑 返回json 重定向:url_for 自定义状态码 返回json:在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,在 Flask 中 ...
随机推荐
- 什么是 MicroPython ?它有什么优势?
MicroPython 和 Python 都是一类 Python 的动态语言解释器. 若是在系统里安装了 Python 解释器,例如在 Windows 或者 Linux 命令行输入 python,进入 ...
- js 学习四 对象应用 吃货游戏
游戏来源于 Mdn学习网站: 该例子用于对象的理解非常有效(建议看完上面网站的内容在开始练习) 弹球 body { margin: 0; overflow: hidden; font-family: ...
- Flask开发系列之Flask+redis实现IP代理池
Flask开发系列之Flask+redis实现IP代理池 代理池的要求 多站抓取,异步检测:多站抓取:指的是我们需要从各大免费的ip代理网站,把他们公开的一些免费代理抓取下来:一步检测指的是:把这些代 ...
- vue 列表渲染 v-for
1.数组列表 v-for 块中,我们拥有对父作用域属性的完全访问权限.v-for 还支持一个可选的第二个参数为当前项的索引 1.1 普通渲染 v-for="item ...
- python-ssh-远程服务器+远程docker执行命令
在python语言中实现远程服务器执行命令+远程dcoker执行命令 def ssh_exec_command(ip, username, password, cmd=None): "&qu ...
- 通过三层交换机实现不同VLAN间的通信(案例+Cisco模拟器配置)
如图,其中PC1和4位于销售部VLAN10,PC2和PC5位于市场部VLAN20,PC3和PC5位于财务部VLAN30,各主机的IP地址以及子网掩码已列出,下面将讲解如何配置利用三层交换机来实现不同V ...
- 修改或删除windows上的git用户凭证信息
参考博客:https://blog.csdn.net/qq_42249896/article/details/85207865
- C++线程同步 -- windows
简介: 在一般情况下,创建一个线程是不能提高程序的执行效率的,所以要创建多个线程.但是多个线程同时运行的时候可能调用线程函数,在多个线程同时对同一个内存地址进行写入, 由于CPU时间调度上的问题,写入 ...
- python如何导入自定义文件和模块全部方法
项目中想使用自定义python文件(本地代码) 有6种方式, 1.这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录 folder------toinvoke. ...
- APIview的请求生命周期源码分析
目录 APIview的请求生命周期源码分析 请求模块 解析模块 全局配置解析器 局部配置解析器 响应模块 异常处理模块 重写异常处理函数 渲染模块 APIview的请求生命周期源码分析 Django项 ...