自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我愿做一个聆听者,以学习为伴!

这是一个不是很正经的博客!

  • 博客(52)
  • 收藏
  • 关注

转载 Flask之时间管理方法——flask-moment

Flask-MomentFlask-Moment又是一个flask的扩展模块,用来处理时间日期等信息。用这个模块主要是考虑到两点,第一是为了让不同时区的用户看到的都是各自时区的实际时间,而不是服务器所在地的时间。第二是对于一些时间间隔的处理,如果要手动处理很麻烦,如果有模块就很好了。1.简介pip install flask-moment 来安装这个扩展模块。值得一提的是,单单在后...

2020-01-29 20:41:16 1074

原创 Flask之最易懂的基础教程一(2020年最新-从入门到精通)

目录1.web工作原理2.Flask框架Flask框架的基础教程:1.web工作原理B/S和C/S架构B/S:浏览器/服务器架构C/S:客户端/服务器架构WEB工作原理客户端 > 服务器 > python(flask) > 数据库(mysql)2.Flask框架简介:是一个非常小的框架,可以称为微型框架,只提供了一个强劲的核心,其他的功能都需要使用拓...

2020-01-28 22:15:51 44419 11

原创 Flask之flask_script(命令行脚本)——@manager.command & @manager.opation

今天我们来简单了解一下flask_script(命令行脚本)一、简单框架首先要在pip内安装flask_scriptpip install Flask-Script新建一个flask框架,并导入flask_scrpit库中的Manager,先简单建立一个Manager脚本from flask import Flask# 导入 Flask-Script 中的 Manager...

2020-01-20 09:58:20 1620

原创 Flask之浅谈上下文管理——执行逻辑及详情链接

FLask上下文管理Flask与diango/tornado相比是两种不同的实现方式;django/tornado是通过传参数形式实现的;flask是通过上下文管理实现的上下文管理:1.独立线程:threading.local 是为每一个线程开辟一个空间;Local类 创建了一个字典{greelet做唯一标识:存储数据},保证数据隔离;2.请求进来:请求相关的所有数...

2020-01-16 09:16:45 207

原创 python之面向对象的私有字段(__var)——强制获取

面向对象私有时获取:class Const(object): def __init__(self): self.name = 'alex' # 初始化年龄 age 被私有化 self.__age = 18 def get_age(self): return self.__age# 这时,如果想获取age值通过普通方法是获取不到的'''obj = Const()pr...

2020-01-16 07:08:07 163

原创 Flask之DBUtils数据库连接——实例

工作实例如下:1. 创建Flask基础框架;2. 在根目录下,创建db_hepler,输入连接池设置;具体设置参考:https://blog.csdn.net/weixin_45950544/article/details/1039831913.导入POOL连接池,建立数据库连接,执行mysql语句;如果在函数特别多的情况下,每个函数都要输入一遍数据库连接代码,过于麻烦;对此...

2020-01-15 17:12:37 309

转载 Flask之数据库连接池——DBUtils模块

数据库连接池:Django:ORM (pymysql/MySQLdb)Flask/其他:原生SQLpymysql(2/3)MySQLdb(2)SQLAchemy(ORM)原生SQL:pymysql

2020-01-15 10:23:08 253

原创 python之threading线程——threading.local():独立线程方法

一、普通线程设置import threadingclass Foo(object): def __init__(self): # 初始化线程号是0 self.name = 0# 实例化Foo类local_values = Foo()# def func(num): # 线程号传参 local_values.name = num ...

2020-01-14 16:45:33 1010

原创 Flask之Blueprint蓝图(使用蓝图的好处、蓝图的定义、如果使用蓝图、蓝图参数、执行优先级)

蓝图(Blueprint)蓝图是一个对象,它允许定义应用程序功能而无需提前使用应用程序对象。它的使用与:class:〜flask.Flask修饰符类似,但通过记录它,可以在以后注册时,满足应用程序的需求。1.蓝图参数:from ...

2020-01-14 10:40:31 1099 1

原创 FLask之请求扩展(用户认证方法)-before_request、after_request

一、场景:商业应用一般都要求登录后才可以进行其他操作,上一篇我们基于装饰器的方式做,但是如果函数越来越多,那就要新增一个函数,就要添加一个装饰器。为了省事,在Django里通过中间件的方式做的,但是Flask里没有类似的中间件,就需要通过Flask里的请求扩展的方式做。二、常见请求扩展:1.做用户登录认证:before_request 常用方法示例:基于Flask的请求扩展做一个用...

2020-01-12 20:50:25 822 1

转载 python之上下文管理器——with语句详解

with语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的清理操作,释放资源,比如,文件使用后的自动关闭、线程中锁的自动获取和释放等;with语句即上下文管理器,含有__enter__和__exit__方法的对象都是上下文管理器;enter:在执行with语句之前,首先执行该方法,通常返回一个实例对象,如果with语句有as目标,则将对象赋值给as目标;e...

2020-01-12 07:23:34 1449

原创 Flask之应用请求代理出栈入栈详解、current_app详解(长篇)

一、什么是current_app?类型是LocalProxy。像全局变量一样工作,但只能在处理请求期间且在处理它的线程中访问,返回的栈顶元素不是应用上下文,而是flask的应用实例对象。什么是LocalProxy——科普:Werkzeug(Flask)之Local、LocalStack和LocalProxy二、current_app中有要素:1.AppContext:应用上下文...

2020-01-11 11:58:08 933

转载 FLask之Local、LocalStack和LocalProxy介绍

一、Local1.为什么需要Local?在Python的标准库中提供了thread local对象用于存储thread-safe和thread-specific的数据,通过这种方式存储的数据只在本线程中有效,而对于其它线程则不可见。>>from threading import local>#实例化local函数>>thread_local_data =...

2020-01-11 08:11:46 2852 1

转载 python之魔法函数__call__(实例化魔法)简介

一、概述:Python有很多内置魔法方法,一般表现为双下划线开头和结尾。例如 name、doc、new、init、call__等,这些魔法方法会让对象持有特殊行为,今天就介绍,自己平时使用比较多的__call,我称它为:实例魔法方法。二、使用方式:什么叫实例魔法方法呢?,就是它可以把类实例当做函数调用。举个栗子:class Bar: def __call__(self, ...

2020-01-10 21:27:05 742

转载 python之greenlet实现协程

greenlet+switch机制来实现协程greenlet用于创建协程,switch用于进行协程之间的切换某个协程在执行的过程中可以随时的被其他协程通过switch函数来打断,转而去执行其他协程,当前协程的中断现场会被保留,一旦中断的协程再次获得cpu的执行权首先会恢复现场然后从中断处继续执行这种机制下的协程是同步,不能并发:from greenlet import greenlet...

2020-01-10 14:20:27 202

转载 Flask之请求上下文、应用上下文的概述

Flask中有两种上下文,请求上下文和应用上下文一、请求上下文(request context)request和session都属于请求上下文对象。1.request:封装了HTTP请求的内容,针对的是http请求。举例:user = request.args.get(‘user’),获取的是get请求的参数。2.session:用来记录请求会话中的信息,针对的是用户信息。举例:s...

2020-01-10 10:12:55 650

原创 Flask之flash闪现的介绍(原理,作用)

一、介绍Flask工作原理:from flask import Flask, flash, get_flashed_messagesapp = Flask(__name__)app.secret_key = 'flash_key'@app.route('/get')def get(): data = get_flashed_messages() ''' # g...

2020-01-09 21:12:20 2591

转载 FLask之request.quest、query_string、params、body 介绍

假设URL = http://192.168.1.111:8080/api/cluster/group?wzd=111&abc=cc请求方式 = POSTbody = {“name”:“abc”}1.request.query得到一个bottle的FormsDict对象,该对象可以转化为字典,里面的内容是:{“wzd”:“111”,“abc”:“cc”},即,是url中后...

2020-01-09 15:39:58 3943

转载 python之装饰器@functools.wraps()

直接上代码看效果:  # 定义一个最简单的装饰器  def user_login_data(f):    def wrapper(*args, **kwargs):      return f(*args, **kwargs)    return wrapper  # 用装饰器装饰以下两个函数    @user_login_data  def num1():    pri...

2020-01-09 11:58:34 192

原创 python之装饰器进阶(简单设置装饰器函数、列表推导式、变量地址传递效果)

my_list = [1, 2, 3, 4, 5]# 定义装饰函数# 1.定义装饰函数,参数为被装饰函数函数名def sum_num(sum_s): # 2.定义闭包函数,参数为被装饰函数的形参 def inner(lis): # 3. 传递被装饰函数,参数为被装饰函数的形参 sum_s(lis) # 4.返回闭包函数地址,将被装...

2020-01-09 09:10:12 139

原创 python装饰器原理导读(内部闭包函数、装饰函数、装饰器函数&语法糖)

一、最基本的函数定义及调用# 定义函数def demo(): print('hello')# 调用函数demo()二、需求:统计每个函数的执行时间计算指定函数运行时间方法一import timedef func1(): start = time.time() print('in func1') time.sleep(5) end = time.time()...

2020-01-08 22:12:33 102

原创 Flask之resquest请求 -(接收url中的参数、form中的参数、上传文件并保存、获取data数据)

一、Flask中的request请求需要导入;from flask import Flask,request1.接收url中的参数@app.route("/req")def req(): print(request.method) #获取访问方式 GET print(request.url) #获取url http://127.0.0.1:5000/req?id=1&am...

2020-01-07 14:36:53 1992

原创 Flask之Markup()安全标记方法——(等价于Django的mark_safe)

看了度娘里对Markup的方法的解释,并没有太理解其作用,于是对源代码进行分析,并总结如下:一、简单表述 # 用Markup方法对HTML文档进行标记,并将其转化为str类型 # 其目的是为了防止XSS攻击,确保文档安全。 >>> Markup('Hello, <em>World</em>!') Markup('Hello, &l...

2020-01-07 10:28:11 1884

原创 FLask之render_template渲染模板(传递上下文参数)

一、在render_template 渲染模板中,传递上下文参数二、在模板中导入参数:

2020-01-07 07:00:41 8864 1

原创 Flask之动态URL拼接

动态URL拼接日常输入某些URL格式时,会发现很多地址中都包含可变部分。例如,在Facebook 资料页面的地址是 http://www.facebook.com/,用户名(name)是地址的一部分。这部分就是动态拼接URL.Flask支持这种形式的URL,只需在route装饰器中使用特殊的句法即可。@app.route('/user/<name>')def user(na...

2020-01-06 20:03:03 1289

原创 Flask之什么是路由、设置路由的两种方法、路由参数的详解(endpoint等)——@app.route()和app.add_url_rule()

一、@app.route() 路由参数‘/path’:服务器地址后面的路由地址:/ 代表 根目录;/pathpath可以代表任意路径;methods=[‘GET’,‘POST’];请求方式;表示该路由地址是何种请求方式...

2020-01-06 11:57:57 5559

转载 宏观知识之开发环境、测试环境、预发布环境、生产环境的区别

一个软件产品从开发到用户使用都涉及哪些环境?开发环境、测试环境、回归环境、预发布环境、生产环境。下面说说我个人对这些环境的理解:1、开发环境顾名思义,开发同学开发时使用的环境,每位开发同学在自己的dev分支上干活,提测前或者开发到一定程度,各位同学会合并代码,进行联调。2、测试环境也就是我们测试同学干活的环境啦,一般会由测试同学自己来部署,然后在此环境进行测试。bug修复后,需要发版更...

2020-01-06 07:24:14 406

原创 Flask之config.py配置文件中的常用配置

一、config.py中的常用配置 'DEBUG': get_debug_flag(default=False), 是否开启Debug模式 'TESTING': False, 是否开启测试模式 'PROPA...

2020-01-06 06:53:03 2100

原创 Flask之from_object和from_pyfile的区别

一、from_object 接受的是一个模块对象,需求import config导入;先创建config.py从主模块中导入import configapp = Flask(__name__)app.config.from_object('config')二、from_pyfile接受的是一个文件名,文件可以是.py文件也可以是.txt文件等等;app = Flask(__n...

2020-01-05 21:38:14 1105 1

原创 Flask框架中生成SECRET_KEY密钥——防御CSRF攻击方法之一

一、遇到RuntimeError: The session is unavailable because no secret key was set.错误时,原因就是没有设置secret_key ,在代码中加上app.config['SECRET_KEY']='XXX'或者app.secret_key='XXX'SECRET_KEY最好不要写在代码中。最好设置一个config.py文件...

2020-01-05 21:26:54 2525

原创 黑客之CSRF攻击是什么?

CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式。CSRF 攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保护之下的操作。1.攻击原理比如,博客的后台存在一个添加文章的功能,为方便说明,假设它是个get请求,如/admin/add?title=标题&body=内容。要提交这个...

2019-12-31 11:12:44 260

原创 Flask之WTForms代码查询

一、WTForms支持的HTML标准字段字段对象说明StrtingField文本字段TextAreaField多行文本字段PasswordField密码文本字段HiddenField隐藏文件字段DateField文本字段,值为 datetime.date 文本格式DateTimeField文本字段,值为 datetime.dateti...

2019-12-31 07:10:23 271 2

原创 python基本语法之 if all():

if all(): 的语法意为:<如果所有都>;同样if not all():意为:<如果所有都不>s=['5','8']sta='59'if all(t not in sta for t in s): # 在s循环遍历后的t中如果所有的都不在sta变量中: print(sta) # 打印staif all(t in st...

2019-12-30 16:53:37 7846 3

原创 Flask之简单调用Flask模块实例

from flask import Flask# 2.创建Flask应用程序实例# 需要传入“__name__”,作用是为了确定资源所在的路径app = Flask(__name__)# 3.定义路由及视图函数# Flask中定义路由是通过装饰器实现的# 路由默认只支持GET请求,如果需要增加,自行指定methods=[]@app.route("/",methods=['GET'...

2019-12-29 21:31:07 583

原创 scrapy连接Mongo设置(设置密码后登录NOSQL)( python scarpy 中连接有身份验证的 数据库)(解除数据库用户和密码限制)

1.如何设置数据库用户名和密码?2.scarpy 中如何设置 有身份验证的 数据库?3.如何解除数据库用户和密码限制?※※※※第一步:在mongoDB命令行中,将root权限设置给用户admin#如果此处有用户和密码,需要先验证用户和密码db.auth({user: "用户名", pwd: "密码"})#进入admin中use admin #创建roo...

2019-12-27 10:23:19 582 1

原创 MongoDB之设置数据库用户名和密码

MongoDB 设置数据库用户名和密码第一步、以txt方式打开mongo根目录下的mongod.cfg,并写入红框内容并保存,注意缩进!注意缩进!2.为数据库创建用户密码:ps:比如你要为数据库test,添加具有dbOwner角色的用户test,那么就进行以下操作切换数据use test添加用户db.createUser( { user: "12345...

2019-12-27 10:20:36 1922

原创 MongoDB之去重总结(详细注解)

mongoDB中去重方式:use 集合名 # 数据库下的show dbs 中的 集合db.createCollection(集合名,{size:1024}) #-创建集合,大小1024条#——————————————————————以上是进入表的步骤——————————————————————————db.getCollection('表名').aggregat...

2019-12-26 16:25:58 1642

原创 小技巧之(随机项提取使用、open() 写入文档操作)

随机提取User-Agent方法:user_agent_list = [ "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", "Mozilla/5.0 (Windows NT 6.1; ...

2019-12-19 16:26:12 105

原创 爬虫之请求执行保障和容错方法(timeout-超时、try...except...异常捕获、retrying-容错次数,函数调用及传参问题)

一个较为完善的requests方法封装import requestsfrom retrying import retryheaders = {"User-Agent","Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.5...

2019-12-18 11:05:46 675

原创 爬虫之百度翻译(附__init__函数作用、GET请求头和POST请求体的区别、python 函数学习之sys.argv[1])

import requestsimport jsonclass BaiduFanyi: def __init__(self,trans_str): #将固定不变的数据放在初始化函数,可以在其他函数中传递。 #在__init__(self,trans_str)中的trans_str,是在全局实例化类名后面可以添加的实参 #比如: self.trans_str = trans_st...

2019-12-17 17:05:28 210

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除