昨日回顾:

昨日回顾:
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的更多相关文章

  1. python 全栈开发,Day81(博客系统个人主页,文章详情页)

    一.个人主页 随笔分类 需求:查询当前站点每一个分类的名称以及对应的文章数 完成这个需求,就可以展示左侧的分类 它需要利用分组查询,那么必须要会基于双下划线的查询. 基于双下划线的查询,简单来讲,就是 ...

  2. day81 初识drf

    目录 一.web应用模式 二.API接口 1 rpc(远程过程调用/远程服务调用) 2 restful(资源状态转换) 三.RESTful API规范 四.序列化 五.Django Rest_Fram ...

  3. day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息

    目录 1.构建课程前端初始页面 2.course后端的准备工作 3.后端实现课程分类列表接口 4.前端发送请求-获取课程分类信息 5.后端实现课程列表信息的接口 6.前端显示列表课程信息 7.按照指定 ...

  4. Python-Django 模型层-单表查询

    单表操作 -增加,删,改:两种方式:queryset对象的方法,book对象的方法 -改:需要用save() -get()方法:查询的数据有且只有一条,如果多,少,都抛异常 单表查询 -<1&g ...

  5. Linux下安装配置virtualenv与virtualenvwrapper

    一.Linux下安装.配置virtualenv 配置源 #指定清华源下载pip的包 [root@localhost opt]# pip3 install -i https://pypi.tuna.ts ...

  6. 10.4ORM回顾!

    2018-10-4 17:41:52 继续优化一下我的博客项目!! 贴上orm参考连接:https://www.cnblogs.com/yuanchenqi/articles/8963244.html ...

  7. Python内置函数之isinstance,issubclass

    isinstance判断一个变量的类型 >>> n1 = 10>>> isinstance (n1,int)True 判断n1是否是数字类型,如果是返回True如果 ...

  8. oracle数据库学习记录(持续更新中...)

    --------------------------------------------day1------------------------------------------------- 1. ...

  9. 手写一个admin 组件------STARK

    开一个新的项目,,建立一个stark 包, 在里面创建一个service包,在service 包里创建一个stark.py 文件, 配置好环境, makemigreations, migreate. ...

随机推荐

  1. MVC与单元测试实践之健身网站(六)-计划的添加与重置

    健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...

  2. C#委托之我见

    委托的使用方式很简单,了解一下基本语法就可以开撸了.但是使用委托的真正难题是不知道应用场景,就像习得了一门新功夫,但是却找不到任何施展拳脚的地方.这个难题一直困然着我,直到最近仿佛有所领悟,所以赶紧记 ...

  3. 工作中常用到的Vim命令

    最近工作中需要到linux服务器上更改文件,苦于对vim的各种命令不熟悉,今天特此总结并熟悉一下各种vim命令,好提高工作效率.后期持续更新 vim编辑器个人设置 先复制一份vim配置模板到个人目录下 ...

  4. vs下开发windows服务程序

    一. VS2012下开发Windows服务 1. 打开VS2012,新建项目,选择Windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图: 2. 创建好后,编译器会自动创建一些文件 ...

  5. 【js基础】js排序方法——快排+堆排+插排+选择排

    快排 Array.prototype.fastSort = function(){ var arr = this; function sort(left, right, arr){ if( left ...

  6. C#基础(string)

    https://msdn.microsoft.com/zh-cn/library/84787k22(v=vs.110).aspx 1.Compare基本方法 public static int Com ...

  7. 对Spring的理解(简单)!

    1.Spring是对j2EE诸多功能进行封装了的一个工具集:它的核心就是提供了一种新的机制来管理业务对象及依赖关系:具体就是控制反转.依赖注入,Aop(面向切面). Spring的底层实现机制是用De ...

  8. Linux RCU 机制详解

    1.简介: RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用. RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用R ...

  9. linux中crw brw lrw等等文件属性是什么

    今天在查看 /dev/fuse 文件的属性的时候,看到了crw_ 权限位,一时反应不过来: [root@localhost ~]# ll /dev/fuse crw-rw-rw-. root root ...

  10. Nginx 错误日志配置

    1.Nginx错误日志信息介绍: error_log的语法格式及参数说明: error_log      file         level; 关键字    日志文件   错误日志级别 其中,关键字 ...