- 博客(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
567
原创 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
350
原创 celery
celery什么是任务队列任务队列是一种在线程或机器间分发任务的机制。 消息队列的输入是工作的一个单元,称为任务,独立的职程(Worker)进程持续监视队列中是否有需要处理的新任务。 Celery 用消息通信,通常使用中间人(Broker)在客户端和职程间斡旋。这个过程从客户端向队列添加消息开始,之后中间人把消息派送给职程。 Celery 系统可包含多个职程和中间人,以此获得高可...
2018-11-15 20:26:20
246
原创 python中的getattr(), hasattr()和setattr()
getattr(object, name[, default])获取object对象的属性的值,如果存在则返回属性值,如果不存在分为两种情况,一种是没有default参数时,会直接报错;给定了default参数,若对象本身没有name属性,则会返回给定的default值;如果给定的属性name是对象的方法,则返回的是函数对象,需要调用函数对象来获得函数的返回值;调用的话就是函数对象后面加括号...
2018-10-22 10:52:57
243
原创 flask中CSRF保护机制
如果是发送from表单, 则使用原来的隐藏表单的形式(生成&派发令牌)<form method="post" action="/"> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" /></form>如果是AJA
2018-10-14 14:20:44
411
原创 随机密钥
>>> import os>>> import base64>>> base64.b64encode(os.urandom(48))b'cBvh+S4fk+PQ4h7p6t7Z05oHfDzpnr3qyd/LNxXuX800zeLvmDi4u7byA7+R+n5Z'>>>
2018-10-08 14:51:23
747
原创 使用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
4349
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
2359
原创 二叉树
"""实现二叉树功能"""class Node(object): """节点类""" def __init__(self, item): # 初始化节点类,设置元素值,左,右指向的节点 self.elem = item self.lchild = None self.rchild = Nonecl
2018-09-11 20:30:36
127
原创 归并排序
"""归并排列"""# 先将一个列表对半分裂成左右两个部分,循环调用自身,直到分裂成单个元素为止# 判断列表里的元素大小合并成一个有序列表返回def merge_sort(alist): """归并排序""" # 分解列表 n = len(alist) if n <= 1: return alist mid
2018-09-10 10:55:20
122
原创 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
848
原创 模仿flask底层,使用类装饰器传参实现web路由功能
# 定义一个空字典用来存储请求路劲及对应的函数地址url_dict = dict()# 定义一个类装饰器class app(object): # 初始化 # 定义类的私有属性 __path = None def __init__(self, func): # 初始化并接收实例对象 self.func = func ...
2018-08-30 00:57:12
584
原创 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
2264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人