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. ...
随机推荐
- 【工具相关】Web-Sublime Text2-通过Package Control安装插件
一,Sublime Text2--->Preferences--->Package Control-->输入install---> 下方就会提示“Package Control ...
- jQuery中bind() live() delegate() on() 的区别
实例 bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数 $("a").bind("click",function(){aler ...
- [VUE ERROR] Invalid prop: type check failed for prop "list". Expected Array, got Undefined
错误原因: 子组件 props -> list 要求接收的数据类型是 Array, 然而实际接收到的是 Undefined. 子组件代码: props: { list: { type: Arra ...
- Tensorflow高效读取数据
关于Tensorflow读取数据,官网给出了三种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据. 从文件读取数据: 在TensorFlow ...
- Info.plist的CFBundleIdentifier、CFBundleName、BundleDisplayName
plist关键字段: CFBundleIdentifier:应用包名.唯一标识 CFBundleVersion:文件版本号,可以每次发版本递增 CFBundleShortVersionString:a ...
- ubuntu通过apt-get安装JDK8
安装python-software-properties apt-get install python-software-properties apt-get install software-pro ...
- Docker容器学习与分享12
Docker多主机管理 之前在一台Centos7上安装了Docker,如果是在多台主机上都安装Docker,用手动安装的方法不光效率低下,而且有可能出错,所以可以使用Docker Machine进行多 ...
- Linux 小知识翻译 - 「单CD 的linux」
这次聊聊「单CD Linux」. 所谓「单CD Linux」,就是不用安装,从CD-ROM启动后就可以使用的Linux. 有名的KNOPPIX就是「单CD Linux」,此外还有Puppy Linux ...
- javascript中获取元素尺寸
Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小 屏幕可用工作区宽度:window.screen.availHeight,和浏览器无关,屏幕相关屏幕可用工作区高度:wind ...
- 关于C语言学习的一些感想(初学者)
C语言是一门通用计算机编程语言,广泛应用于底层开发.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供了许多低 ...