flask框架(一):初入
1、装饰器回顾
# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time : 2018/7/3 17:10 import functools
"""
def wrapper(func):
def inner(*args, **kwargs):
return func(*args, **kwargs) return inner @wrapper # 执行index=wrapper(index)
def index(request):
pass
""" '''
def wrapper(option):
def inner(func, *args, **kwargs):
return func(*args, **kwargs) return inner # 加参数表示执行两步
@wrapper({'k': 'w'})
# 先执行 inner=wrapper({'k':'w'})
# @inner--》index=inner(index)
def index(request):
pass
''' url_map = {
'/index': 'index'
} def route(option):
# 建议写装饰器的时候都加上
@functools.wraps(func)# 这一句用来帮助我们设置函数的元信息,加了这句就不用起别名了
def inner(func, *args, **kwargs):
url_map[option['path']] = func return inner # 加参数表示执行两步
@route({'path': '/index'})
# 先执行 inner=wrapper({'k':'w'})
# @inner--》index=inner(index)
def index(request):
pass
2、session & cookie原理
3、继承字典(在字典之上开发功能)
# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time : 2018/7/3 17:34 class MyDict(dict):
def __init__(self, *args, **kwargs):
super(MyDict, self).__init__(*args, **kwargs)
self['modify'] = True obj = MyDict()
print(obj) # {'modify': True}
内容详解:
1、flask、django、tornado框架
Django:重武器,内部包含了非常多的组件:ORM、Form、ModelForm、缓存、Session、中间件、信号等。。。。。。
Flask:短小精悍,内容没有太多组件。第三方组件非常丰富。flask第三方组件:第三方插件网站
flask的路由比较特殊,基于装饰器来实现,但是究其本质还是通过add_url_rule()来实现的。
Tornado:异步非阻塞
2、Flask快速入门
a、安装
pip3 install flask
b、wsgi,Werkzeug
3、7行代码搭个flask
# -*- coding: utf-8 -*-
# @Author : Felix Wang
# @time : 2018/7/3 22:40 from flask import Flask app = Flask(__name__) # 实例化一个Flask对象 # 将‘/’和函数index的对应关系添加到路由中
@app.route('/') # 执行两步 a=app.route() a(hello_world)
def index():
return 'hello world' if __name__ == '__main__':
# 监听用户请求
# 如果有用户请求到来,则执行app的__call__到来
# 一个对象加(),执行__call__方法
app.run()
flask框架(一):初入的更多相关文章
- 初入前端框架bootstrap--Web前端
Bootstraps是一种简洁.直观.强悍的前端开发框架,它让web开发更迅速.简单.对于初入Bootstrap的小白,高效进入主题很重要,能为我们节省很多时间,下面我将对使用Bootstrap开发前 ...
- 实验1、初入Flask
实验介绍 1. 实验内容 Flask是一个用Python编写的Web应用程序框架.Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask.Flask基于Werk ...
- Scala初入
何为Scala物 Scala为基于JVM虚拟机中的面向对象与函数式编程思想并且完全兼容Java的混合编程语言,可以是Scala与Java是同根同源的,既然Scala与JAVA都是基于JVM之上的编程语 ...
- flask框架+pygal+sqlit3搭建图形化业务数据分析平台
一. 前言 先说下主要的框架和主要的图形库的特点:(个人见解) Django:python开发的一个重量级的web框架,集成了MVC和ORM等技术,设计之初是为了使开发复杂的.数据库驱动的网站变得简单 ...
- 初入android驱动开发之字符设备(一)
大学毕业,初入公司,招进去的是android驱动开发工程师的岗位,那时候刚进去,首先学到的就是如何搭建kernel.android的编译环境,然后就是了解如何刷设备以及一些最基本的工具.如adb.fa ...
- Flask框架简介
Flask框架诞生于2010年,是Armin ronacher 用python语言基于Werkzeug工具箱编写的轻量级Web开发框架! Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展. ...
- Flask框架整个流程源码解读
Flask框架整个流程源码解读 一.总的流程 运行Flask其本质是运行Flask对象中的__call__,而__call__本质调用wsgi_app的方法 wsgi_app方法 def wsgi_a ...
- Python之Flask框架项目Demo入门
Python+Flask框架项目Demo入门 本例子用到了 Flask+蓝图+Flask-Login+SQLAlchemy+WTForms+PyMySQL相关架构 Flask Web框架介绍 Flas ...
- 初入SG-UAP
初入SG-UAP SpriderMan 关注 2019.06.19 14:10 字数 1130 阅读 10评论 0喜欢 0 初次接触SG-UAP,将自己的见解以文字形式记录下来,希望能对初入的伙伴们有 ...
- Flask框架登录日志模块编写
web扫描器网站的框架搭建逐渐进入尾声,边搭建框架的时候负责前端的小姐姐也在完善页面设计,过两天就可以进行功能点的完善了. 在扫描器中我们用到了用户登录模块,想法是初始化一个账户和密码,比如说admi ...
随机推荐
- 《深入理解 Java 虚拟机》学习 -- 垃圾回收算法
<深入理解 Java 虚拟机>学习 -- 垃圾回收算法 1. 说明 程序计数器,虚拟机栈,本地方法栈三个区域随线程而生,随线程而灭,这几个区域的内存分配和回收都具备确定性 Java 堆和方 ...
- vue响应原理
用Object.defineProperty添加属性的方法,给属性加get set方法.当我们操作属性的时候其实底层是在操作dom. <!DOCTYPE html> <html la ...
- vue进阶:基于vue-cli创建项目(搭建手脚架)
vue-cli安装.创建项目 基于vue-cli创建的项目进行开发 使用vue-cli图形化界面搭建项目 插件与工具 一.vue-cli简介.安装.创建项目 Vue-cli是基于Vue.js进行快速开 ...
- js安全类型检测
背景: 都知道js内置的类型检测,大多数情况下是不太可靠的,例如: typeof . instanceof typeof 返回一个未经计算的操作数的类型, 可以发现所有对象都是返回object ...
- VSCode主题自定义(附详细注释及本人主题分享)
先来一张本人自己配置的主题截图,喜欢的拿去用: 下面说说怎么自定义主题: 1. Ctrl + ,(Ctrl键 + 逗号键):打开设置,也可以依次点击编辑器左上角 => 文件 => ...
- 快速写个node命令行工具
1.package.json-bin配置 [创建bat文件,把bat路径添加到PATH中]这些固定的工作可以由npm帮我们完成.package.json中有个bin字段配置: bin: { " ...
- element-ui Cascader 级联选择器 点击label选中
通过修改label的样式解决: 注意:el-cascader-panel 是直接挂载在body上的,所以需要全局设置 .el-cascader-panel .el-radio{ width: 100% ...
- 第十章、sys模块
目录 第十章.sys模块 第十章.sys模块 方法 详解 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.ex ...
- Redis02——Redis单节点安装
Redis单节点安装 一.Redis的数据类型 string hash list set zset 二.安装 2.1.下载 wget http://download.redis.io/releases ...
- QTP(14)
练习1.Flight4a 要求: a.录制Flight4a登录+退出业务流程 b.使用自定义检查结合Exist属性验证登录是否成功 c.为用户名实现参数化 用户名 Jack 正确 Rose 正确 12 ...