day81
昨日回顾:
昨日回顾:
auth组件:
-验证:authenticat(request,username='lqz',password='')
-登录:login(request,user)
-注销:logout(request),内部调用了flush(),以后再从request中取user,是匿名用户
-request.user:请求来了,在中间件中,通过cookie查询user信息,放到request.user中,如果查询不到,把匿名用户赋给它
-登录认证装饰器:login_required(指定?后面拼接的key值,如果没有登录,跳转到哪个url)
-全局配置跳转的url:在setting中:LOGIN_URL='/login/'
-创建用户:create_superuser,create_user,就只是一个字段区分
-校验密码:check_password(密码),得用户对象调用,如果校验通过,返回True
-修改密码:set_password(密码),修改了一定要调save()方法,得用户对象来调用
-是否验证通过:is_authenticated,校验用户是否验证通过,通常用在模板上
-删除用户:orm的删除 -扩展auth组件:
-创建一个一对一的表模型
-定义一个表模型,继承AbstractUser,写扩展的字段
-数据库迁移会报错:去setting中配置:AUTH_UDER_MODEL='app名字.表模型'
-其他用法完全一样,只是原来用User表模型,全部改成新定义的表模型
今日内容:
from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (250, 35), get_random_color()):生成一个高35,宽250的随机颜色(get_random_color())的长方形
font = ImageFont.truetype('static/font/ss.TTF', 30):设置这个字体文件的路径
img_draw = ImageDraw.Draw(img):生成一个画笔,可以对img这个图片进行绘画
img_draw.text((70, 0), res, get_random_color(), font=font):在xy轴(70,0)处对img进行开始绘画,随机字体颜色颜色(get_random_color())的长方形,该字体为font字体格式
img_draw.line([(20, 10), (200, 22)], fill=get_random_color(), width=3):生成一条障碍线
from io import BytesIO
f = BytesIO():创建一个空的内存文件
img.save(f,'png'):将img保存到f内存文件中,以png格式保存
data = f.getvalue():取出f内存文件中的数据
day81的更多相关文章
- python 全栈开发,Day81(博客系统个人主页,文章详情页)
一.个人主页 随笔分类 需求:查询当前站点每一个分类的名称以及对应的文章数 完成这个需求,就可以展示左侧的分类 它需要利用分组查询,那么必须要会基于双下划线的查询. 基于双下划线的查询,简单来讲,就是 ...
- day81 初识drf
目录 一.web应用模式 二.API接口 1 rpc(远程过程调用/远程服务调用) 2 restful(资源状态转换) 三.RESTful API规范 四.序列化 五.Django Rest_Fram ...
- day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息
目录 1.构建课程前端初始页面 2.course后端的准备工作 3.后端实现课程分类列表接口 4.前端发送请求-获取课程分类信息 5.后端实现课程列表信息的接口 6.前端显示列表课程信息 7.按照指定 ...
- Python-Django 模型层-单表查询
单表操作 -增加,删,改:两种方式:queryset对象的方法,book对象的方法 -改:需要用save() -get()方法:查询的数据有且只有一条,如果多,少,都抛异常 单表查询 -<1&g ...
- Linux下安装配置virtualenv与virtualenvwrapper
一.Linux下安装.配置virtualenv 配置源 #指定清华源下载pip的包 [root@localhost opt]# pip3 install -i https://pypi.tuna.ts ...
- 10.4ORM回顾!
2018-10-4 17:41:52 继续优化一下我的博客项目!! 贴上orm参考连接:https://www.cnblogs.com/yuanchenqi/articles/8963244.html ...
- Python内置函数之isinstance,issubclass
isinstance判断一个变量的类型 >>> n1 = 10>>> isinstance (n1,int)True 判断n1是否是数字类型,如果是返回True如果 ...
- oracle数据库学习记录(持续更新中...)
--------------------------------------------day1------------------------------------------------- 1. ...
- 手写一个admin 组件------STARK
开一个新的项目,,建立一个stark 包, 在里面创建一个service包,在service 包里创建一个stark.py 文件, 配置好环境, makemigreations, migreate. ...
随机推荐
- jquery之商城菜单
实现效果:悬浮总菜单,显示分类菜单,移走隐藏总菜单,悬浮分类菜单,显示商品种类,移走隐藏商品种类和分类菜单,悬浮商品种类,显示商品种类和分类菜单,移走隐藏商品菜单和分类菜单. 代码如下: <!D ...
- Python 线程同步锁, 信号量
同步锁 import time, threading def addNum(): global num num -= 1 num = 100 thread_list = [] for i in ran ...
- Visualforce控制器
Visualforce框架是遵循MVC结构的.Visualforce页面代表了"视图"部分,Salesforce的各种对象代表了"模型"部分,而Apex则代表了 ...
- MVC与单元测试实践之健身网站(五)-系统信息、前台入口
Fit项目停滞了一段时间,现在继续吧.上一篇完成了动作文本和配图的添加.编辑等内容.接下来要完成的是后台的最后一个模块:系统信息:以及前台的入口:关于注册.登录.修改密码等. 一 系统信息 a) 用户 ...
- [20180604]在内存修改数据(bbed).txt
[20180604]在内存修改数据(bbed).txt --//以前曾经做过在内存修改数据,通过oradebug poke命令修改内存信息,相关链接:--//http://blog.itpub.net ...
- 使用linq语句进行联表查询
假设你有一个父表(例如:汽车),其关联一个子表,例如轮子(一对多).现在你想对于所有的父表汽车,遍历所有汽车,然后打印出来所有轮子的信息.默认的做法将是: SELECT CarId FROM Cars ...
- WCF服务端开发和客户端引用小结
1.服务端开发 1.1 WCF服务创建方式 创建一个WCF服务,总是会创建一个服务接口和一个服务接口实现.通常根据服务宿主的不同,有两种创建方式. (1)创建WCF应用程序 通过创建WCF服务应用程序 ...
- 洗礼灵魂,修炼python(57)--爬虫篇—知识补充—编码之对比不同python版本获取的数据
前面既然都提到编码了,那么把相关的编码问题补充完整吧 编码 之前我说过,使用python2爬取网页时,容易出现编码问题,下面就真的拿个例子来看看: python2下: # -*- coding:utf ...
- vi 复制或剪切多行超级强大方法
同一个文件:光标移到起始行,输入ma 光标移到结束行,输入mb 光标移到粘贴行,输入mc 然后 :'a, 'b co 'c 把 co 改成 m 就成剪切了多个文件:在文件一: 光标移到起始行,输入ma ...
- python曲线拟合
http://blog.sina.com.cn/s/blog_aed5bd1d0102vid7.html 1.多项式拟合范例: import matplotlib.pyplot as plt impo ...