
python
scwMason
一个怀揣梦想的有志青年
展开
-
生成器
用生成器生成一个杨辉三角:def triangles(max): a = [1] #不能在同一行有多个等于号赋值 n = 0 while n < max: yield(a) a.append(0) a = [a[s-1]+a[s] for s in range(len(a))] n=n+1 ...原创 2019-01-17 10:12:20 · 271 阅读 · 0 评论 -
Flask+MySql实现简单的登陆
我们直接上代码,在注释中来讲解:#导入需要的包from flask import Flaskfrom flask import requestimport mysql.connectorconn=mysql.connector.connect(user="root",password="123456",database="Flask_app")#连接数据库,创建Flask_app数据...原创 2019-01-23 14:17:56 · 2856 阅读 · 0 评论 -
Flask用户登陆系统(三)粉丝机制
参考:https://blog.youkuaiyun.com/weixin_42126327/article/details/81735649我们先自己添加一个多对多的表格,在models.py中:followers = db.Table('followers', db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),...原创 2019-02-14 23:55:34 · 240 阅读 · 0 评论 -
Flask用户登陆系统(一)
我们的文件目录:config.pyimport osCSRF_ENABLED = TrueSECRET_KEY = 'you-will-never-guess'basedir=os.path.abspath(os.path.dirname(__file__))SQLALCHEMY_DATABASE_URI='sqlite:///'+os.path.join(basedir,'...原创 2019-02-04 23:33:36 · 3031 阅读 · 0 评论 -
Flask用户登陆系统(二)添加注册发送邮件的功能
之前的功能参考文章https://blog.youkuaiyun.com/scwMason/article/details/86764431#send_email.pyfrom email.mime.text import MIMETextfrom email.header import Headerfrom email.mime.multipart import MIMEMultipart...原创 2019-02-05 17:33:06 · 572 阅读 · 0 评论 -
Flask用户登陆系统(四)----分页显示
参考教程:https://blog.youkuaiyun.com/weixin_42126327/article/details/81735659我们提及一下重点:1.我们在/index首页中显示所有的当前登陆用户的信息就需要一个关键的函数:def followed_posts(self): followed=Post.query.join(followers,(foll...原创 2019-02-17 00:02:20 · 417 阅读 · 0 评论 -
Flask用户登陆系统(五)-----发送邮件
这次的发送邮件是利用了Flask自带的邮件功能,而且利用了token的加密认证方式,会更加的安全(参考常见的认证方式)关于Json Web Token(jwt)可以参考阮一峰的博客,注意JWT的特点总结一下就是JWT可以帮你把JSON信息用某种算法加密成一个令牌(token)然后每次登陆的时候用户就可以拿着这个令牌来登陆 使用JWT1.1准备与测试pip inst...原创 2019-02-20 17:59:12 · 522 阅读 · 0 评论 -
浅谈Endpoint
刚开始知道EndPoint是从学Flask-restful的时候,看了一些文章以后觉得理解这个还是得从flask的url与函数之间的指向过程,之前一直认为:@app.route("/index")def index: pass我们进入/index的时候就是以为直接找到index函数,执行里面的内容,但是其实不然在源码中我们可以发现:每个应用程序app都有一个view_fu...原创 2019-03-05 20:29:52 · 8447 阅读 · 0 评论 -
关于argparse模块中的action参数
参考文章:https://blog.youkuaiyun.com/liuweiyuxiang/article/details/82918911action参数有两个值,一个是store_true,一个是store_falsestore_true表示当我们运行.py文件的时候,如果后面带了这个参数的话,这个参数值就会被赋值成true,如果没有带的话就赋值成false。store_false相反。stor...原创 2019-03-03 13:31:44 · 722 阅读 · 0 评论 -
python 中的lstrip()方法
用于去掉一个指定字符串中的某个字符实例以下实例展示了lstrip()的使用方法:#!/usr/bin/pythonstr = " this is string example....wow!!! ";print str.lstrip();str = "88888888this is string example....wow!!!8888888";print...原创 2019-03-06 20:48:24 · 1796 阅读 · 1 评论 -
不同风格的Flask-restful
参考文章http://www.pythondoc.com/Flask-RESTful/quickstart.html http://www.pythondoc.com/Flask-RESTful/reqparse.html总结一下这个模块:1.可以利用 add_resource 批量处理url,不用再在给每个函数之前加上@app.route2.flask-...原创 2019-03-06 21:49:14 · 344 阅读 · 0 评论 -
我这是来宣传一下
刚刚开通了新博客,作为自己学习的下一个知识库,所以来宣传一下:http://scwmason.cn/这个新博客的文章质量会高一些,因为是自己在学习中一点点总结出来的经验和认识。写博客一年半了,感觉收获很多,对自己的学习也很有帮助,每天进步一点点是很好的状态...原创 2019-03-09 23:58:25 · 217 阅读 · 0 评论 -
浅谈Flask_script
参考文章https://flask-script.readthedocs.io/en/latest/概念Flask_script是一种Flask的交互式命令行工具。方便交互式调试、执行脚本。也就是方便以命令行的方式直接在终端中调试每个文件中的某个函数,一般有一下三种方法方法一 创建Command子类from flask_script import Manager,...原创 2019-03-04 21:29:29 · 293 阅读 · 0 评论 -
python虚拟环境
我们知道python中,有些第三方库的包会有依赖关系,比如某天你想搭建django环境,它可能依赖某个package 2.0,然后过几天你又想要搭建其他环境,这时候可能它也需要同样的包,但是这个包的版本可能不需要那么高,只支持package 1.0,这时候你会发现如果使用package 2.0,新环境用不了,如果使用package 1.0,django环境使用不了。这个时候应该怎么办呢?这就要...转载 2019-06-22 21:28:26 · 223 阅读 · 0 评论 -
Flask完成用户登陆时出现的TypeError: 'bool' object is not callable
因为这个问题坑了我比较长时间,所以记录一下:网上有的人说是将Flask-Login的版本调到0.2.11,但是我这里还是会报错,所以我的做法是:依旧pip install Flask-Login,我这里是安装了0.4.1的然后在models.py中的三个属性设置:is_authenticated=Trueis_active=Trueis_anonymous=False如...原创 2019-02-03 12:10:12 · 929 阅读 · 0 评论 -
python----flask----wtforms创建表单
文件目录: run.pyfrom app import app第一个app是文件夹app,第二个app是__init__文件 _init_.pyfrom flask import Flaskapp=Flask(__name__)app.config.from_object('config')from app import viewapp.run(debu...原创 2019-01-28 19:23:23 · 423 阅读 · 0 评论 -
迭代
判断是否可以迭代:>>> from collections import Iterable>>> isinstance('abc', Iterable) # str是否可迭代True>>> isinstance([1,2,3], Iterable) # list是否可迭代True>>> isinstance(1...原创 2019-01-17 10:15:57 · 211 阅读 · 0 评论 -
map和reduce
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。(每个元素都会调用这个函数) 再看reduce的用法。reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:(比如:累加求和) ...原创 2019-01-17 10:19:15 · 187 阅读 · 0 评论 -
装饰器
我们定义一个打印日志的函数:def log(func): def wrapper(*args, **kw): print('call %s():' % func.__name__) return func(*args, **kw) return wrapper然后我们设置一个now函数打印一下日期:@logdef now(): ...原创 2019-01-17 16:48:07 · 141 阅读 · 0 评论 -
分享一篇讲解python中lambda的文章
https://blog.youkuaiyun.com/zjuxsl/article/details/79437563转载 2019-01-24 15:03:03 · 148 阅读 · 0 评论 -
协程以及生成器的嵌套(yield.from)
参考文章:https://www.cnblogs.com/wongbingming/p/9085268.html在学习异步IO模型前,我们先来了解协程。协程,又称微线程,纤程。英文名Coroutine。协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回...原创 2019-01-24 16:07:59 · 839 阅读 · 0 评论 -
序列化
import pickle#把一个对象写入文件d = dict(name='Bob', age=19)pickle.dumps(d)f = open('test.txt', 'wb')pickle.dump(d, f)f.close()#然后读出这个对象f2=open('test.txt','rb')d2=pickle.load(f2)f2.close()print(d2)...原创 2019-01-19 22:47:20 · 136 阅读 · 0 评论 -
asyncio异步IO标准库
参考文章:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432090954004980bd351f2cd4cc18c9e6c06d855c498000本文主要是对上面文章的解析和自我总结asyncio是Python 3.4版本引入的标准库,直接内置了对...原创 2019-01-24 22:38:38 · 733 阅读 · 0 评论 -
python中的多进程
只有一个子进程:# 多线程的实现from multiprocessing import Processimport os# 子进程要执行的代码def run_proc(name): print('Run child process %s (%s)..' % (name, os.getpid()))if __name__ =='__main__': print('Pa...原创 2019-01-20 15:22:48 · 187 阅读 · 0 评论 -
解决UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 5: illegal multibyte 问题
这个是我在准备用HTMLParser解析一段html的时候出错的,在网上查了一下,原来是print()函数自身有限制,不能完全打印所有的unicode字符,所以只要规定一下print的打印的默认编码就行了:import ioimport sysimport urllib.requestsys.stdout = io.TextIOWrapper(sys.stdout.buffer,enc...原创 2019-01-20 22:51:00 · 3426 阅读 · 2 评论 -
python中的TCP链接
服务端:#TCP服务器import socket,timeimport threadings=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind(('127.0.0.1',8888))s.listen(5)print("Waiting for connection...")def tcplink(sock,addr):...原创 2019-01-21 14:28:56 · 1001 阅读 · 0 评论 -
Python实现SMTP协议发送邮件(网易、新浪、qq)
我们这里拿新浪邮箱作为发送者,qq邮箱作为接收者首先,我们要在新浪邮箱开启SMTP服务网易邮箱的话是在客户授权密码里面开启,并且需要设置授权密码(新浪不用)然后我们就可以开始写代码了:from email.mime.text import MIMETextfrom email.header import Headerfrom email.mime.multipart ...原创 2019-01-21 21:24:21 · 2613 阅读 · 0 评论 -
python用新浪邮箱发送邮件出现的问题
新浪邮箱比较特殊,它需要验证,所以我们应该这样写:content=MIMEText('hello,send by Python','plain','utf-8')msg=MIMEMultipart()msg['From']=Header(from_addr)msg['Subject']=Header('Python 邮件测试','utf-8')msg.attach(content)...原创 2019-01-21 21:27:39 · 3695 阅读 · 3 评论 -
sqlite数据库
参考教程:http://www.pythondoc.com/flask-mega-tutorial/database.html#id8准备:pip install sqlalchemy-migrate我们的目录:config.pyimport osbasedir=os.path.abspath(os.path.dirname(__file__))SQLALCHEMY_...原创 2019-01-31 21:22:53 · 717 阅读 · 0 评论 -
pip3换源提升速度
临时换源:pip3 install 包名 -i 源的url国内源列表清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://p...原创 2019-04-07 13:02:53 · 1233 阅读 · 0 评论