IO操作、PIL使用、Django的admin操作
操作内存的流-StringIO | BytesIO
from io import StringIO, BytesIO
#创建操作字符串的内存流
sf = StringsIO()
#往内存中写
sf.write('hello')
#在内存中取
sf.getvalue() # 创建操作二进制的内存流
bf = BytesIO()
# 往内存中写
bf.write('hello'.encode('utf-8'))
# 在内存总取
bf.getvalue()
PIL: python图片操作库
安装:Pillow模块
# 1.生成图片
from PIL import Image
#生成一个Image类对象(准图片):模式、尺寸、颜色
img = Image.new('RGB', (80,80),color=(255,0,0))
#将Image类对象采用具体格式放入具体的文件流中
bf=BytesIO() #内存字节流
img.save(bf,'png') # 2.产生文字颜色
from PIL import ImageFont
#产生某种ttf格式的30px大小的文字
img_font = ImageFont.truetype('*.ttf', size=30) # 3.画图
from PIL import ImageDraw
#在具体的Image对象上画图
img_draw = ImageDraw.Draw(img)
#画文字:xy轴、文本、颜色、ImageFont字体
img_draw.text((x,y),'abc','red',img_font)
前端解析二进制流图片
// 向指定url请求图片二进制流转换为blob:格式的src
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true); // url
xhr.responseType = "blob";
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var blod = this.response;
var src = URL.createObjectURL(blod); // src
}
}
};
xhr.send();
Django的admin自动化数据管理界面
admin的概念:
# Admin是Django自带的一个功能强大的自动化数据管理界面
# 被授权的用户可以直接在Admin中操作数据库
# Django提供了许多针对Admin的定制功能
配置并访问自动化书库管理界面:
# 终端项目目录创建一个超级用户:python3 manage.py createsuperuser
# eg:Username:root | Email:root@root.com | Password:1234qwer
# 浏览器Admin入口:http://127.0.0.1:8000/admin
# 设置Admin界面为中文环境:项目下settings.py,LANGUAGE_CODE = 'zh-Hans'
# 简体:zh-hans | 繁体:zh-hant | 美式英语:en-us
将指定映射添加到自动化数据管理界面:
# 应用下的admin.py中,注册映射对应关系的类
from . import models
admin.site.register(models.Article)
格式化界面字段显示名与表名:
# 为应用下models.py映射关系类重写__str__方法
class Article(models.Model):
title = models.CharField(max_length=32, default='Title', verbose_name="标题")
content = models.TextField(null=True, verbose_name="内容", blank=True)
# 重写__str__方法,格式化该类实例对象的表示方式
def __str__(self):
return self.title
class Meta:
verbose_name = "文章"
verbose_name_plural = verbose_name
IO操作、PIL使用、Django的admin操作的更多相关文章
- Django---ORM的常用字段和自定义字段,DjangoORM字段与数据库类型对应,字段参数和Meta的参数,Django的admin操作,13中orm操作方法,单标的双下方法
Django---ORM的常用字段和自定义字段,DjangoORM字段与数据库类型对应,字段参数和Meta的参数,Django的admin操作,13中orm操作方法,单标的双下方法 一丶ORM常用字段 ...
- stark组件之过滤操作【模仿Django的admin】
一.先看下django的admin是如何实现过滤操作 首先在配置类中顶一个list_filter的列表,把要过滤的字段作为元素写i进去就可以了 class testbook(admin.ModelAd ...
- stark组件之pop操作【模仿Django的admin】
一.先看下什么django的admin的pop到底是个什么东西 其实就是这么一个东西, a.在添加页面,在一对多和多对多的项后加了一个+号 b.点击这个加号,会弹出对应的添加 页面,在新的添加 c.添 ...
- Django admin操作
无名小妖 昵称:无名小妖园龄:1年6个月粉丝:22关注:1 +加关注 搜索 常用链接 我的随笔 我的评论 我的参与 最新评论 我的标签 我的标签 Python(1) python3 ...
- Django之Model操作
Django之Model操作 本节内容 字段 字段参数 元信息 多表关系及参数 ORM操作 1. 字段 字段列表 AutoField(Field) - int自增列,必须填入参数 primary_ke ...
- Django笔记-数据库操作(多对多关系)
1.项目结构 2.关键代码: data6.settings.py INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', ' ...
- Python之路【第二十二篇】:Django之Model操作
Django之Model操作 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bi ...
- Django模型-数据库操作
前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开 ...
- Django(三) ORM操作
一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 ORM:关系对象映射.定义一个类自动生成数据库的表结构. 数据库常用的数据类型 : 数字 字符串 时间 ORM分为两种类型: 主流都是 ...
随机推荐
- [九省联考2018]IIIDX
题目描述 这一天,Konano接到了一个任务,他需要给正在制作中的游戏<IIIDX>安排曲目的解锁顺序.游戏内共有n首曲目 ,每首曲目都会有一个难度d,游戏内第i首曲目会在玩家Pass第t ...
- 绕过阿里云waf进行SQL注入
做个笔记吧,某SQL注入点的绕过,有阿里云waf的. 首先遇到是个搜索框的注入点: 演示下: 针对搜索框,我们的sql语句一般是怎么写的? 本地演示:select * from product whe ...
- Cucumber使用中问题
1.cucumber自动化执行提示chrome使用不支持的命令标记 --ignore-certificate-errors 大概问题是chrome版本和chrmedriver版本不对应 2." ...
- Ubuntu16.04 g++5.4依旧不支持C++11问题
jacket@jacket:~$ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_6 ...
- python中os.path.isdir()函数的使用
在python 中,os.path.isdir(path)函数主要用来判断函数内部的path是否为一个目录 具体关于这个函数的解说参考博客https://blog.csdn.net/xjp_xujip ...
- TPS和QPS 并发量区别;日活 访问量 活跃度
一.系统承载吞度量 系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高,外部系统接口.IO影响速度越慢,系统吞吐能力越低,反之越高 ...
- webpack学习笔记——项目引入zepto及tap事件失效的解决
先要npm下来zepto:npm install zepto 然后npm下来exports-loader和script-loader 配置如下: JavaScript // webpack.confi ...
- 有序不可变列表tuple
tuple(元组)也是一种有序列表 但是与list不同的是,他是不可变的.一旦初始化就不可以被更改 声明方法 tuple名=(元素1,元素2,元素3--) >>> name=('To ...
- LeetCode第十四题-字符串数组中最长的共同前缀
Longest Common Prefix 问题简介: 编写一个函数来查找字符串数组中最长的公共前缀字符串,如果没有公共前缀,则返回空字符串"" 举例: 1: 输入: [“xwq” ...
- Gulp实战
推荐文章: gulp.js中文网 : http://www.gulpjs.com.cn/ DBPOO : http://www.dbpoo.com/getting- ...