自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 页面静态化 + 定时任务

页面静态化 + 定时任务页面静态化即将动态渲染生成的页面结果保存成html文件,放到静态文件服务器中。用户访问的时候访问的直接是处理好之后的html静态文件。1. 首先创建uilts.py用来生成静态的主页html文件2. 配置添加保存静态文件的目录# 生成的静态html文件保存目录GENERATED_STATIC_HTML_FILES_DIR = os.path.join(os.p...

2018-12-04 22:02:05 487

原创 Django REST framework JWT

Django REST framework JWTJWT​ 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token认证机制。什么是JWT​ Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). 该token被设计位紧凑且安...

2018-11-19 09:31:57 293

原创 celery

celery什么是任务队列任务队列是一种在线程或机器间分发任务的机制。​ 消息队列的输入是工作的一个单元,称为任务,独立的职程(Worker)进程持续监视队列中是否有需要处理的新任务。​ Celery 用消息通信,通常使用中间人(Broker)在客户端和职程间斡旋。这个过程从客户端向队列添加消息开始,之后中间人把消息派送给职程。​ Celery 系统可包含多个职程和中间人,以此获得高可...

2018-11-15 20:26:20 201

原创 python中的getattr(), hasattr()和setattr()

getattr(object, name[, default])获取object对象的属性的值,如果存在则返回属性值,如果不存在分为两种情况,一种是没有default参数时,会直接报错;给定了default参数,若对象本身没有name属性,则会返回给定的default值;如果给定的属性name是对象的方法,则返回的是函数对象,需要调用函数对象来获得函数的返回值;调用的话就是函数对象后面加括号...

2018-10-22 10:52:57 187

原创 flask中CSRF保护机制

如果是发送from表单, 则使用原来的隐藏表单的形式(生成&派发令牌)<form method="post" action="/"> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" /></form>如果是AJA

2018-10-14 14:20:44 359

原创 随机密钥

>>> import os>>> import base64>>> base64.b64encode(os.urandom(48))b'cBvh+S4fk+PQ4h7p6t7Z05oHfDzpnr3qyd/LNxXuX800zeLvmDi4u7byA7+R+n5Z'>>>

2018-10-08 14:51:23 675

原创 使用SQLAlchemy中请求结束后自动提交数据库的一个注意点

在SQLAlchemy的init_app函数中配置SQLALCHEMY_COMMIT_ON_TEARDOWN为True是可以在请求结束时自动提交数据库数据,不用手动提交,但是@app.teardown_appcontext def shutdown_session(response_or_exc): if app.config['SQLALCHEMY_CO...

2018-09-27 19:52:19 4077 1

原创 flask中视图函数调用

1.当网页访问视图函数时,装饰器先调用route方法,route中实现闭包装饰视图函数,调用self.add_url_rule(rule, endpoint, f, **options), def route(self, rule, **options): def decorator(f): endpoint = options.pop('endpo...

2018-09-27 11:57:34 2264

原创 二叉树

"""实现二叉树功能"""class Node(object): """节点类""" def __init__(self, item): # 初始化节点类,设置元素值,左,右指向的节点 self.elem = item self.lchild = None self.rchild = Nonecl

2018-09-11 20:30:36 99

原创 归并排序

"""归并排列"""# 先将一个列表对半分裂成左右两个部分,循环调用自身,直到分裂成单个元素为止# 判断列表里的元素大小合并成一个有序列表返回def merge_sort(alist): """归并排序""" # 分解列表 n = len(alist) if n <= 1: return alist mid

2018-09-10 10:55:20 91

原创 python 多进程中开启多协程,完成多任务爬取网页图片

# 得到网站的网页内容import multiprocessingimport osimport refrom _operator import mulfrom urllib.request import *import numpyimport geventfrom gevent import monkey# 打上补丁monkey.patch_all()# 下载图...

2018-09-03 18:06:29 774

原创 模仿flask底层,使用类装饰器传参实现web路由功能

# 定义一个空字典用来存储请求路劲及对应的函数地址url_dict = dict()# 定义一个类装饰器class app(object): # 初始化 # 定义类的私有属性 __path = None def __init__(self, func): # 初始化并接收实例对象 self.func = func ...

2018-08-30 00:57:12 524

原创 python中使用with打开数据库

from pymysql import connectclass OpenDB(object): def __init__(self, user, pw, database): # 初始化 self.conn = connect(host='localhost', port=3306, user=user, password=pw, database=...

2018-08-28 07:51:05 2173

空空如也

空空如也

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

TA关注的人

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