Python
文章平均质量分 51
阏男秀
Python
展开
-
在 Django 中使用第三方社交认证登录示例
使用 social-auth-app-django 插件在 Django Admin 中添加第三方社交认证登录方式。由于 Github 申请应用比较方便,所以这里以 Github 为例。下面是效果图:开发环境Python36Pipenv准备工作在github 开发者平台新建一个 OAuth 应用。并填写下面信息:Application name: django-social-auth-demo(可以随意填写)Homepage URL: http://127.0.0.1:8000/Au原创 2021-01-14 17:38:20 · 859 阅读 · 0 评论 -
django如何把旧数据库数据迁移到新数据库
这里是使用django的dumpdata和loaddata命令迁移数据到新数据库。一、首先停止django服务,从旧数据库导出所有数据;python manage.py dumpdata -o backup.json二、创建新的数据库,并修改django配置,比如下面从sqlite切换到postgresql;# settings.pyDATABASES = { #'default': { # 'ENGINE': 'django.db.backends.sqlite3',原创 2021-01-14 17:28:36 · 2837 阅读 · 1 评论 -
使用jqueryui tabs优化django后台页面
众所周知,Django官方自带的admin页面是非常简陋的,但是不妨碍我把它当作临时管理后台使用。其中我开发公司内部的ERP系统就还一直使用django admin(又不是不能用,嘻嘻)。但是我对django admin有点不满的就是编辑表单页面。我以下面帐号表单为例,django admin的表单页面会一下子展示很多信息给用户看。除了首行的用户名和密码、还把「个人信息」标签、「权限」等等都一起显示了出来。一个良好的用户界面设计原则是,不要一下子呈现所有的信息,而是要符合渐进式披露原则。所以对于这个表单原创 2020-12-01 11:28:00 · 297 阅读 · 0 评论 -
pipenv如何针对不同平台使用同一功能扩展包
场景在Windows下开发的Python应用程序时,有些扩展包不能直接安装,需要从第三方下载编译好的扩展包导入安装。而对于Linux系统来说,可以直接pip安装。那么如何解决不同平台使用不同的安装扩展包呢,除了编写两个 requirement.txt 文件以外。还可以使用pipenv工具,在Pipfile文件里做一些配置。之后一句命令 pipenv install 即可。解决方案下面以 p...原创 2019-12-20 16:12:25 · 384 阅读 · 0 评论 -
flask-admin 树状表格示例
一图胜千言示例代码https://github.com/AngelLiang/flask-admin-tree-table-demo原创 2019-12-13 09:45:59 · 1752 阅读 · 0 评论 -
【Python】TCP Socket的粘包和分包的处理
概述在进行TCP Socket开发时,都需要处理数据包粘包和分包的情况。本文详细讲解解决该问题的步骤。使用的语言是Python。实际上解决该问题很简单,在应用层下,定义一个协议:消息头部+消息长度+消息正文即可。那什么是粘包和分包呢?关于分包和粘包粘包:发送方发送两个字符串”hello”+”world”,接收方却一次性接收到了”helloworld”。分包:发送方发送字符串原创 2016-08-02 17:47:25 · 21017 阅读 · 16 评论 -
【Python】基于MQTT的聊天客户端
在学习TCP/UDP socket的时候教程都会给一个聊天客户端的示例。MQTT是基于TCP的通信协议,在学习MQTT的过程,想着不如自己也写一个MQTT聊天客户端。原创 2016-10-01 11:29:53 · 18105 阅读 · 14 评论 -
【Python】使用Python模拟设备接入阿里云物联网的MQTT服务器
由于阿里云物联网套件关于设备认证的文档不够详细,笔者差不多摸索了几天才连接上MQTT。下面是使用Python模拟设备接入阿里云的MQTT。原创 2017-08-15 11:26:44 · 11005 阅读 · 13 评论 -
【Flask】Flask实现异步非阻塞请求功能
最近做物联网项目的时候需要搭建一个异步非阻塞的HTTP服务器,经过查找资料,发现可以使用gevent包。Gevent 是一个 Python 并发网络库,它使用了基于 libevent 事件循环的 greenlet 来提供一个高级同步 API。原创 2016-10-24 21:39:47 · 32256 阅读 · 16 评论 -
【Flask】前端RSA加密后端Python解密示例
这一篇文章是前端用 RSA 的 publicKey 进行加密,然后后端用 Python 进行解密的示例。原创 2017-07-31 14:26:01 · 9912 阅读 · 7 评论 -
【Python】在PyCharm环境配置Autopep8到菜单栏
本文介绍如何在PyCharm环境配置Autopep8到菜单栏。原创 2017-01-18 09:28:18 · 13351 阅读 · 0 评论 -
【Flask】在PyCharm上组织Flask大型项目文件结构
要想用Flask开发大型项目,就必须要有良好的项目文件结构,这篇文章主要记录Flask最小开发项目的配置。这里所使用的Python版本为3.5.1,Flask版本为0.11.1。原创 2016-08-12 17:07:23 · 26678 阅读 · 0 评论 -
【Python】Windows下安装scipy库步骤
由于学习需要,需要安装scipy库。scipy库在Windows下使用pip安装失败,所以需要寻找安装包进行安装,下面是记录步骤。原创 2017-01-11 10:36:17 · 17621 阅读 · 5 评论 -
【Python】使用socketserver建立一个异步TCP服务器
这篇文章是讲解如何使用socketserver建立一个异步TCP服务器,其中Python版本为3.5.1。原创 2016-06-22 18:02:25 · 18188 阅读 · 6 评论 -
Windows下用PowerShell进入Python的虚拟环境
因为PowerShell默认不允许执行*.ps1脚本文件,所以首先需要开启权限。原创 2020-12-01 11:29:49 · 11903 阅读 · 5 评论 -
【ESP8266】基于ESP8266的MicroPython入门笔记
概述本文是ESP8266运行MicroPython入门笔记,记录自己在探索MicroPython所见所思的同时,也顺便简单评估该开发方式的优缺点。开发环境ESP8266开发板: ESP-LAUNCHER(4 MB Flash)操作系统:Win10 64位关于MicroPythonMicroPython是一个基于Python 3的、精简和高效的编程语言,其包括Pyt原创 2017-01-01 16:36:29 · 62545 阅读 · 41 评论 -
Python3加载libc.so出错(python3 OSError _lib64_libc.so invalid ELF header)
出错环境CentOS 7.4 x64Python 3.5.4现象和解决方案执行下面代码时,即Python3加载libc.so:from ctypes import *internalLibrary = CDLL(u'libc.so')如果报下面的错误python3 OSError: /lib64/libc.so: invalid ELF header原创 2018-01-22 10:45:47 · 8620 阅读 · 0 评论 -
关于Flask通过.env加载环境变量的两个坑
坑一:python-dotenv加载的Value都是字符串类型第一个坑是python-dotenv加载的Value都是字符串类型(python-dotenv版本0.10.1),因此导致整型、浮点型和布尔类型需要转换一下。解决方案目前解决办法只能是这样:# `.env`MAIL_PORT = 465MAIL_USE_SSL = falseMAIL_USE_TLS = true# s...原创 2019-03-08 16:46:36 · 13883 阅读 · 0 评论 -
flask-migrate数据迁移后再中途部署的同步方案
使用flask-migrate对flask web app进行数据库迁移非常方便,通常的迁移步骤如下:开发完flask web app;部署flask web app到服务器;3.发现需要修改数据库,于是使用flask-migrate进行数据库迁移;flask db initflask db migrateflask db upgrade服务器的app更新代码,并进行更...原创 2019-02-12 14:15:42 · 1190 阅读 · 0 评论 -
基于(Flask+)Celery+SQLalchemy的定时任务工具
引言熟悉Python Web开发的朋友都知道,Celery是编写后台任务的利器。比如一个Web网站在用户注册后需要发送邮箱认证,则可以使用Celery编写一个发送邮件的task异步发送邮件,而不需要在请求上下文那里阻塞,或者起一个线程。那么,除了以上应用场景,我们还有一个场景是——定时任务。而Celery自带的定时任务功能,配置后是需要重启Celery才能启动的(最新版可能不需要了),而且配置...原创 2019-01-01 16:18:11 · 6182 阅读 · 0 评论 -
使用Apache24在Windows下部署Flask(附带相关软件工具)
引言Windows下部署Flask应用一直是一个令人头疼的难题,本人经过一天的摸索,总算部署成功。下面是本次探索的记录。同时为了后来者的方便,放出本文档的相关软件工具,免去逐一下载的麻烦:链接:https://pan.baidu.com/s/1yAR3WIEmXtLxZmx05rwENg密码:0i7g一、环境Windows 10 x64(理论上Win7+都没问题)Apache24 x...原创 2018-09-25 22:53:57 · 1948 阅读 · 0 评论 -
Flask从model中导出sql脚本
其实非常简单,只需要使用flask_migrate即可。pip3 install flask_migrate对app进行初始化from flask_migrate import Migratemigrate = Migrate(app, db)然后数据库迁移flask db initflask db migrate准备工作已经完成,下面就是生成sql脚本flas...原创 2018-07-17 21:14:23 · 1464 阅读 · 0 评论 -
深入学习flask_login模块
Hacking flask_login深入学习 flask_login 模块学习环境Windows 10 x64Python3VSCodePowerShellflask_login v0.4.1准备工作# 下载git clone git@github.com:AngelLiang/hacking_flask_login.gitcd hacking_f...原创 2018-04-01 18:01:47 · 5902 阅读 · 10 评论 -
CentOS编译和安装Python 3.5、setuptools、pip
引言在CentOS下使用Python 3.5、setuptools、pip,可以按照以下步骤进行。一、安装python3.5安装Python的依赖包sudo yum groupinstall "Development tools"sudo yum install zlib zlib-devel bzip2-devel openssl-devel openssl-sta...原创 2018-02-01 17:04:35 · 1122 阅读 · 0 评论 -
【Flask】Flask和SQLAlchemy:init_app
博主前言博主在用Flask开发的时候,需要实现一个功能:定时写数据到数据库。之前采用了一个笨方法,单独写一个Python脚本文件,并且数据库表对象还要重新定义,如果Flask那边修改了数据表对象,这边的脚本也需要就改数据表对象,非常麻烦。我于是就想能不能直接用Flask里的数据表对象。可是每次在脚本里调用数据表对象都报错,加上定时任务是用了线程机制,还涉及线程安全问题等等,任务艰巨啊。但是,最翻译 2016-12-01 20:58:38 · 18282 阅读 · 4 评论 -
【Flask】cookiecutter-flask使用笔记
Cookiecutter可以让你快速从模板中建立工程,cookiecutter-flask则是Flask的模板,可以快速生成Flask大型项目模板。原创 2017-03-29 09:28:31 · 7589 阅读 · 0 评论 -
【Python】Notepad++配置Python编译器
有时候想写一些简单的Python脚本,但又不想打开笨重的Pycharm,官方的IDLE又不好用,那怎么办呢?想到自己会用Notepad++,上网搜了一下能不能给Notepad++配一个编译器,结果还真的有。原创 2017-03-16 09:02:20 · 2576 阅读 · 2 评论 -
【Python】Python3「'ascii' codec can't encode character...ordinal not in range(128)」解决方案
在网络传输中需要把数据转换为字节类型(byte类型),这个时候就需要进行编码转换,可是在Python3下有时候会出现下面的错误。‘ascii’ codec can’t encode character ‘\x80’ in position 0: ordinal not in range(128)原创 2017-03-11 12:58:15 · 6093 阅读 · 0 评论 -
Twisted-在Windows下运行trial的方法
trial是Twisted的测试脚本程序,由于trial是针对Linux的,编译好的trial在Windows下无法直接运行。下面是解决方法:原创 2016-08-10 18:16:02 · 1871 阅读 · 0 评论 -
Twisted-Factory和Protocol类的分工
在Twisted中,不论是服务端还是客户端都会用到两个类——Factory和Protocol。这些类被设计是处理连接中所有可能遇到的事件:成功建立连接、连接失败、连接断开、数据传送等等。原创 2016-08-10 16:59:26 · 1937 阅读 · 0 评论 -
Python 3.x-解决unable to find vcvarsall.bat问题
Python 3.x在导入第三方模块时出现 unable to find vcvarsall.bat 问题,本文意在解决该问题。该问题的产生是在windows环境中,python 的 Setup需要调用一个vcvarsall.bat的文件,该文件需要安装c++编程环境才会有。网上的方法有两个:一、安装MinGW;二、安装Visual Studio 。我用的是第二种方法。转载 2016-07-22 10:31:10 · 7934 阅读 · 0 评论 -
PyMySQL-在Python 3.x下连接MySQL数据库的方法
可以使用PyMySQL下载方式:pip install PyMySQL在sqlalchemy框架下连接MySQL:mysql+pymysql://username:password@server/db原创 2016-07-19 13:46:07 · 1176 阅读 · 0 评论 -
wxPython-创建一个最小的空的wxPython程序
创建一个最小的空的wxPython程序原创 2016-05-09 09:16:25 · 659 阅读 · 0 评论 -
wxPython-多个按钮使用同一个回调函数
多个按钮使用同一个回调函数原创 2016-05-09 16:29:58 · 3251 阅读 · 0 评论 -
Python-Python 3.x下自定义异常抛出和接收多个值的技巧
在使用Python的时候,有时候想自己自定义异常错误,同时抛出多个参数,比如对数据库查找一个用户,如果没有找到,返回{"errCode":"-1", "errMsg":"没有该用户!"}的Json信息,那么异常需要抛出errCode和errMsg。下面的代码解决了该问题,也就是自定义异常抛出和接收多个值的技巧:原创 2016-07-20 16:04:23 · 5655 阅读 · 0 评论 -
Python-穷举搜索Google方程式
在《算法的乐趣》这一本书中,第3.4.3章节举了一个穷举搜索的例子,其中里面是用C语言代码编写的。下面自己使用Python实现了一遍。原创 2016-06-25 14:46:02 · 1502 阅读 · 0 评论 -
Python-Windows下安装BeautifulSoup和requests第三方模块
首先给出官网地址:1、Request官网2、BeautifulSoup官网我下载的request版本是v2.9.1,BeautifulSoup版本是4.4.1下载好第三方模块后后把这些模块放到Python安装目录下,并解压缩。根据百度经验设置Python的环境变量。按Win+R输入cmd,打开cmd。一、安装request。1、进入到requ原创 2015-12-30 10:15:38 · 5806 阅读 · 0 评论 -
django-got an unexpected keyword argument ‘maxlength’
TypeError: __init__() got an unexpected keyword argument 'maxlength'学习Python的django框架时,报了以上的错误,其实只要把maxlength改为max_length即可。原创 2016-05-30 11:09:00 · 3998 阅读 · 0 评论 -
Python3.4连接MySQL的环境搭建步骤
Python3.4连接MySQL的环境搭建步骤原创 2016-01-09 10:01:01 · 6835 阅读 · 1 评论 -
【Python】SQLAlchemy例程
SQLAlchemy是Python下的一个工具包,提供了SQL工具包及对象关系映射(ORM)工具。这篇文章主要是记录一份可以使用的例程(TODO代码),以后做项目的时候可以直接从这里拷贝并扩展。原创 2016-11-18 22:53:45 · 868 阅读 · 0 评论