7 极客点儿

尚未进行身份认证

但行好事,莫问前程

等级
TA的排名 2k+

Python3 安装 Crypto 三方库

最近在做小程序登录认证,需要拿到用户的手机号,但是微信 API 返回的手机号码是加密后过的,需要使用 AES 进行解密安装pip install pycryptodome安装完后导包from Crypto.Cipher import AES发现竟然有错ImportError: No module named 'Crypto'最后才发现,我需要在 python 环境中改下包的名字...

2020-01-16 21:18:39

Flask + PyJWT 实现基于Json Web Token的用户认证授权

这是我在做用户认证开发过程中看到一位大神写的文章,不过源地址已经失效了,希望有可能未来还能看到传送门。在此转载是不忍心这么好的文章绝版我在 github 上找到了作者的源码,有需要的可以去下载https://github.com/yaoyonstudio/flask-pyjwt-auth在程序开发中,用户认证授权是一个绕不过的重难点。以前的开发模式下,cookie和session认证是主...

2020-01-16 21:07:43

python PyJWT 使用

在程序开发中,用户认证授权是一个绕不过的重难点。以前的开发模式下,cookie 和 session 认证是主流,随着前后端分离的趋势,基于 Token 的认证方式成为主流,而 JWT 是基于 Token 认证方式的一种机制,是实现单点登录认证的一种有效方法PyJWT 是一个用来编码和解码 JWT(JSON Web Tokens) 的 Python 库,也可以用在 Flask 。,PyJWT 用来...

2020-01-16 20:42:26

修改 Flask 中 request.args 不可变字典类型

Flask 里面的 request.args 请求回来的参数是 ImmutableMultiDict 类型,ImmutableMultiDict 是不可变字典,这是为了保证传参的数据安全性。但是某些时候我们需要对其进行操作,例如:将参数中为空串的参数去掉,这时候我们可以使用 dict 将其转变为普通的字典# data type is ImmutableMultiDictdata = dict(...

2020-01-16 20:20:55

如何在宿主机上执行 Docker 容器里面的命令

关键参数是 exec -it,参数可接镜像 id 或 镜像名称docker exec -it 583e6ec3c424 ls

2020-01-16 20:13:35

Python3 使用 SQLalchemy 如何判断某个字段为空 None

SQLalchemy 是 Python 中的 ORM 模型,在开发的过程中,遇到了如何对字段值进行判空的坑方法一table.name is None 这样的写法 Python 的解释器不会报错,但是结果和预期不符,解释器直接忽略这一行方法二table.name == None 这样的写法是可以通常测试的,但是不符合 PEP8 规范方法三table.name.is_(None)...

2020-01-16 20:07:27

Python3 使用 SQLalchemy ORM 模型 upgrade 报错 max key length is 767 bytes

开发背景公司使用 Flask 进行开发,使用 SQLalchemy ORM 模型,在开发环境中 migrate 和 upgrade 正常通过,但是在部署测试环境的时候报了一行错误:sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1071, 'Specified key was too long; ...

2020-01-16 19:56:42

Flask 组件 Bcrypt

Bcrypt 简介Bcrypt 是一个 Flask 扩展,它为你的应用提供了bcrypt散列功能得益于近些年来计算机硬件(如GPU)性能的提升,散列技术已经变得很容易被攻破了。想要解决这个问题,一个积极的作法是使用一种“去优化”的散列技术。Bcrypt就是这样一个散列工具;不同于MD5和SHA1等在速度上优化的散列算法,bcrypt被有意地放慢了算法速度密码等敏感数据必须被保护起来,而bcr...

2019-12-16 15:39:03

Flask 组件 APScheduler

APScheduler 简介APScheduler 是 Flask 的一个任务调度模块,类似于 Linux 中的 Crontab 功能,但它不仅仅只有定时任务APScheduler 分为4个模块,分别是:Triggers 触发器Task Job 工作任务Executors 执行器Schedulers 调度器Triggers 有 3 个触发器date 表示具体...

2019-12-16 15:25:53

Flask 组件 Migrate

Migrate 简介Migrate 类似于 Django 中的 manager.py 的 migrate,它的作用是将我们写好的 ORM 类对象,迁移到数据库中数据库迁移操作顺序python 文件 db init根据需求修改模型python flaskapp文件 db migrate -m"新版本名(注释)"python flaskapp文件 db upgrade 然后...

2019-12-16 15:15:22

Flask 组件 Script

flask-script 的作用是可以通过命令行的形式来操作Flask.例如通过命令跑一个开发的服务器、设置数据库等命令的添加方式使用manage.command: 这个方法是用来添加那些不需要传递参数的命令的使用manage.option: 这个方法是用来添加那些需要传递参数的命令的。有几个参数就需要些使用几个参数器。如果有一些命令是针对某一功能的,可以加这些命令放在同一个模...

2019-12-16 15:01:52

Flask 组件 SQLAlchemy

SQLAlchemy 简介:SQLAlchemy 相当于 Django 框架中 ORM,ORM 主要实现模型对象到关系数据库数据的映射优点只需要面向对象编程,不需要使用sql语言实现数据模型和数据库的解藕,及不用关心是什么数据库,更改简单配置即可更换数据库缺点有部分性能损耗SQLAlchemy 使用SQLAlchemy 的使用和 Django 中的类似,首先要进行配...

2019-12-16 14:57:32

Flask 组件 App、Blueprint、RESTful 配合使用

前几篇文章简单的介绍了 Flask 各个组件 App、Blueprint、RESTful,以及各个组件的使用方法,现在第一道坎是如何将这些组件组合在一起使用PS:App 就是最原始的 Flask 的应用,我统一将这个应用叫做 App,这是为了方便以后集成而人为定义的规范首先,我们按照最原始创建 App 的方法创建应用#!/usr/bin/env python3# -*- coding: U...

2019-12-16 14:01:22

Flask 组件 RESTful

RESTful 简介:Web 得以如此规模的发展,这和Web诞生之初的架构设计是分不开的。而REST则是用来发现,识别Web的架构模型中,有哪些地方需要改善,哪些地方需要说不的。所以,想要理解REST是什么,必须要站在俯览Web的角度,以Web的上帝视角来看待Web,才能搞清楚REST对Web到底做了些什么。很多的人只关注于restful的web api,以api的角度去理解解释rest,最终只...

2019-12-16 13:47:57

Flask 组件 Blueprint

Blueprint 简介:Blueprint 译为蓝图。简单来说,Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求。Flask 使用 Blueprint 让应用实现模块化,在Flask中,Blueprint具有如下属性:一个应用可以具有多个Blueprint...

2019-12-16 13:30:57

Flask 框架的简单使用

Flask 简介:Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务,在介绍Flask之前首先来聊下它和Django的联系以及区别,django个大而全的web框架,它内置许多模块,flask是一个小而精的轻量级框架,Django功能大而全,Flask只包含基本的配置, Django的一站式解决的思路,能让开发者不用在开发之前就在选择应...

2019-12-16 13:14:44

MySQL 如何修改 root 密码

首先登录 MySQL用 SET PASSWORD 命令mysql> set password for 用户名@localhost = password('新密码'); 用 UPDATE 直接编辑 user 表mysql> use mysql; mysql> update user set password=password('123') where user='roo...

2019-12-16 10:16:49

Mac 安装 mysqlclient 报错解决方案

在 Python 中安装包正常情况下都会使用 pippip install mysqlclient但是很多情况下上述的命令会报错,解决办法度娘上可以找到,解决办法大致一致首先叫你安装 mysql-connector-c,然后在使用 pip 进行安装,如果还有问题就打开 /usr/local/bin/mysql_config 文件改东西# Create options libs="-L$...

2019-12-12 14:08:53

IaaS、PaaS、SaaS 的区别

云服务只是一个统称,可以分成三大类IaaS:基础设施即服务,Infrastructure-as-a-servicePaaS:平台即服务,Platform-as-a-serviceSaaS:软件即服务,Software-as-a-service参考文章:http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.htmlhttps://...

2019-11-26 17:47:53

Python3 多线程编程

一、线程的基本概念引入进程的目的,是为了使多道程序并发执行,以提高资源利用率和系统吞吐量;而引入线程,则是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥...

2019-09-05 18:34:02

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。