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. ...
随机推荐
- MVC与单元测试实践之健身网站(六)-计划的添加与重置
健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...
- C#委托之我见
委托的使用方式很简单,了解一下基本语法就可以开撸了.但是使用委托的真正难题是不知道应用场景,就像习得了一门新功夫,但是却找不到任何施展拳脚的地方.这个难题一直困然着我,直到最近仿佛有所领悟,所以赶紧记 ...
- 工作中常用到的Vim命令
最近工作中需要到linux服务器上更改文件,苦于对vim的各种命令不熟悉,今天特此总结并熟悉一下各种vim命令,好提高工作效率.后期持续更新 vim编辑器个人设置 先复制一份vim配置模板到个人目录下 ...
- vs下开发windows服务程序
一. VS2012下开发Windows服务 1. 打开VS2012,新建项目,选择Windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图: 2. 创建好后,编译器会自动创建一些文件 ...
- 【js基础】js排序方法——快排+堆排+插排+选择排
快排 Array.prototype.fastSort = function(){ var arr = this; function sort(left, right, arr){ if( left ...
- C#基础(string)
https://msdn.microsoft.com/zh-cn/library/84787k22(v=vs.110).aspx 1.Compare基本方法 public static int Com ...
- 对Spring的理解(简单)!
1.Spring是对j2EE诸多功能进行封装了的一个工具集:它的核心就是提供了一种新的机制来管理业务对象及依赖关系:具体就是控制反转.依赖注入,Aop(面向切面). Spring的底层实现机制是用De ...
- Linux RCU 机制详解
1.简介: RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用. RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用R ...
- linux中crw brw lrw等等文件属性是什么
今天在查看 /dev/fuse 文件的属性的时候,看到了crw_ 权限位,一时反应不过来: [root@localhost ~]# ll /dev/fuse crw-rw-rw-. root root ...
- Nginx 错误日志配置
1.Nginx错误日志信息介绍: error_log的语法格式及参数说明: error_log file level; 关键字 日志文件 错误日志级别 其中,关键字 ...