wkt blog

  • About
  • About

Category: flask

支付宝签名配置验证

by admin/December 15, 2018/flask, python基础, 其他

公私钥生成: https://docs.open.alipay.com/291/106130 进入ssh后 OpenSSL> genrsa -out app_private_key.pem 2048 #生成私钥 OpenSSL> pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem #Java开发者需要将私钥转换成PKCS8格式 OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem #生成公钥 OpenSSL> exit #退出OpenSSL程序 配置后验证公钥 rsa app_private_key = open(‘/home/wukt/project/python_planet/pem/app_private_key.pem’, ‘r’) # […]

mysql 忘记密码重置密码和修改密码

by admin/December 12, 2018January 1, 2019/flask, python基础, 其他, 常用备份

Linux下MySQL重置密码 Linux下重置密码的操作与Windows下类似。 停止MySQL服务 [root@www ~]# /etc/init.d/mysql stop 以安全模式启动MySQL [root@www ~]# /usr/local/mysql/bin/mysqld_safe –skip-grant-tables & 登录MySQL [root@www ~]# mysql -u root -p mysql> use mysql; mysql> update user set password=password(“123456″) where user=”root”; mysql> flush privileges; 启动MySQL服务 [root@www ~]# /etc/init.d/mysql start 注意了,MySQL5.7之后,重置root密码SQL(感谢刘韦声回复): update […]

supervisor进程管理

by admin/November 23, 2018November 23, 2018/flask, python基础, 笔记

以supervisor管理celery进程为例 一 安装supervisor 二 配置 三 启动和关闭 四 打开web监听 安装supervisor python3 无法直接使用pypi源安装, 使用 pip3 install git+https://github.com/Supervisor/supervisor 配置 生成默认的配置文件 echo_supervisord_conf > /etc/supervisord.conf 添加自定义配置 在生成的conf文件最后添加 [program:tiis_is_name] command=/home/wukt/.virtualenvs/p3.6/bin/celery worker -l INFO -c 1 -A flaskrun.celery –beat –loglevel debug –logfile celery_beat.log stdout_logfile=celeryd.log stderr_logfile=celeryd.log autostart=true […]

Alembic隐藏数据库配置信息

by admin/November 2, 2018/flask, 笔记

Alembic数据库迁移使用参考: https://blog.csdn.net/deerlux/article/details/50181997 此迁移工具的详细配置信息在alembic.ini文件中, 其中包括 sqlalchemy.url = driver://user:pass@localhost/dbname 为了防止不小心将密码信息提交, 可将此行删除,并修改alembic/env.py: import sys sys.path.append(os.path.realpath(‘.’)) from planet.common.base_model import DB_PARAMS from planet import models # this is the Alembic Config object, which provides # access to the values within the .ini file in use. […]

uwsgi+flask

by admin/September 5, 2018September 5, 2018/flask, 笔记

uwsgi: uwsgi.ini at project directory [uwsgi] socket = 127.0.0.1:5000 chdir = /home/wukt/project/ziru/zr wsgi-file = run.py callable = app processes = 4 threads = 2 stats = 127.0.0.1:9191 nginx: a.com.conf or nginx.conf server { listen 80; server_name a.com; access_log /data/wwwlogs/a.com_nginx.log combined; […]

windows server部署flask项目

by admin/August 16, 2018August 16, 2018/flask, 其他, 笔记

部署环境 – windows server – python3.6 – nginx 使用tornado作为flask的启动服务器 安装依赖 安装tornado pip install tornado 可能会需要的包 pip install pycurl 创建启动文件 在flask项目根目录下创建tornado_server.py import sys from tornado.wsgi import WSGIContainer from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from flaskrun import app if len(sys.argv) […]

LocalStack–线程隔离的栈结构

by admin/May 16, 2018July 19, 2018/flask, 笔记

  Werkzeug 通过自定义 werkzeug.local.Local 类实现线程隔离的栈结构, 封装了push, pop, 和top方法.可以将对象推入、弹出,也可以快速拿到栈顶对象. 同样具有线程隔离的作用. 并没有直接使用threading.Local . LocalStack作为栈结构的特性 栈是一种先进后出的基本数据结构. from werkzeug.local import LocalStack s = LocalStack() s.push(1) print(s.top) print(s.top) # 获取栈顶元素 print(s.pop()) # 弹出栈顶元素 print(s.top) # 弹出的栈顶元素会删除 s.push(1) s.push(2) print(s.top) print(s.top) print(s.pop()) print(s.pop()) 作为线程隔离的特性 线程隔离的作用是: 使当前对象可以正确的使用自己创建的对象, 而不会使用和破坏其他进程的对象. […]

wtforms的调用验证方式优化

by admin/April 28, 2018July 19, 2018/flask, 常用备份, 笔记

通常, 在使用flask验证器的过程中视图会有类似下面的语句: data = request.json form = ClientForm(data=data) if form.validate(): #… else: #… 重写的目的: 无需每次在视图中使用data=reqeust.data, form = XXForm(data=data)获取和传入请求数据. 无需在视图中使用ifelse判断, 请求数据有问题时候, 直接向客户端返回异常. 分析: 为了省去视图函数向验证器每次传数据的过程, 重写构造器的时候可以直接使用request.data获取; 为了直接返回异常, 需要重写validate, 此处我们不重写, 直接定义一个类似的方法, 去调用validate. from flask import request from wtforms import Form # 这是之前定义的参数错误异常处理类 from […]

jsonify的改进

by admin/April 3, 2018July 19, 2018/flask, 常用备份, 笔记

一. json和jsonify 二. 改进的jsonify 三. 使用 一. json和jsonify json.dumps需要指定返回类型: t = { #… } return Response(json.dumps(t), mimetype=’application/json’) jsonify默认将返回的类型指定成了application/json : t = { #… } return jsonify(t), 200 但是在使用默认情况下, jsonify对于很多类型的数据是无法序列化的(当然json.dumps也不行), 比如时间类型的字典, model的实例对象. 二. 改进的jsonify 如果jsonify不知道如何序列化指定的对象, 程序便会调用JSONEncode的defualt方法: # 源码部分 class JSONEncoder(_json.JSONEncoder): def […]

flask: 內置HttpException的rest风格改进

by admin/March 28, 2018July 19, 2018/flask, python基础

在api的设计中, 无论异常还是正常数据均需要服务器以json的格式返回, 为了对异常的统一管理, 同时为了后续更加方便的返回和验证数据, 我们自定义异常返回类. 设计异常数据的返回格式为: { “error_code”: 999, “msg”: “sorry, we make a mistake”, “request”: “POST /v1/client/register” } 异常值分别代表: 999 未知错误 1006 客户端错误 1007 服务器错误 1000 参数错误 … 其中json中的request包含了请求的方法和路径. 一. 定义一个最基本的类 二. 参数错误和客户端错误类 三. 所有的异常 一. 定义一个最基本的类 为了使代码简洁, 首先定义一个最基本的类, […]

Posts navigation

1 2

Recent Posts

  • Create a virtual serial port that relays data over ssh
  • 在ssh服务器上创建代理, 使所有流量经过ssh客户端
  • linux:将目录里的软连接替换为原始文件
  • IntelliJ Idea: How to open project from the network share
  • Run batch file as a Windows service

Archives

  • December 2021
  • September 2021
  • July 2021
  • June 2021
  • December 2020
  • November 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • January 2019
  • December 2018
  • November 2018
  • September 2018
  • August 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • November 2017
  • October 2017
  • September 2017
  • June 2017
  • May 2017
  • April 2017
  • April 2016

友情链接

  • Harttle
  • 张俊杰的微博客
  • 蔣振飞的博客
  • 饲养员的窝
Proudly powered by WordPress | Theme: ShowMe by NEThemes.