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 ...
随机推荐
- linux内核钩子--khook
简介 本文介绍github上的一个项目khook,一个可以在内核中增加钩子函数的框架,支持x86.项目地址在这里:https://github.com/milabs/khook 本文先简单介绍钩子函数 ...
- maven工程下整合spring+mybatis报Mapped Statements collection does not contain value for spring-mybatis-user-get错误
在整合spring+mybatis报了下面的错误: Mapped Statements collection does not contain value for spring-mybatis-use ...
- C#等比列放大缩小图片
public Bitmap ChangeImgSize(Image bit, double Multiple) { Bitmap newBitmap ...
- apply()和call()的方法
apply()和call()的方法的区别 参考文档https://www.cnblogs.com/lengyuehuahun/p/5643625.html 一直都没太明白apply()与call()的 ...
- 记录:初入Java环境部署踩坑
1.在部署环境之前,先确定大佬们用的哪几种软件,然后依次下载,安装,IDEA, JDK, Tomcat, Maven. 什么是JDK? JDK是 Java 语言的软件开发工具包,主要用于移 ...
- npm 设置淘宝镜像
永久 npm config set registry https://registry.npm.taobao.org 直接安装 cnpm 替代 npm npm install -g cnpm --re ...
- jeesite 跳开登录页面直接访问
把控制层的${adminPath}改为${frontPath} 访问时吧/a改为/f 也可以在jeesite配置文件内配置两个的值 http://localhost:8181/cxfvp/a?logi ...
- docker 安装php
nginx :docker pull nginx docker run -p 80:80 --name nginx -v /usr/local/nginx/www:/www -v /usr/local ...
- php--常见算法3
<?php function leijia($number){ $arr=[]; for($i=1;$i<=$number;$i++) { for($j=1;$j<=$number; ...
- Java注解【二、Java中的常见注解】
JDK自带注解 @Override 重写 @Deprecated 已过期 @Suppvisewarnings 压制警告 Demo: public interface Person { public S ...