自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 redis安装环境

安装环境切换到/usr/localp@ubuntu:~$ cd /usr/local/p@ubuntu:/usr/local$ lsredispython@ubuntu:/usr/local$ cd redis# 如果没有,mkdir redis创建一个python@ubuntu:/usr/local/redis$# 移动解压后的文件 到 /usr/local/red

2017-09-30 23:46:08 348

原创 mongodb聚合

聚合aggregate统计功能,用来计算数据db.集合名称.aggregate([{管道:{表达式}}])管道(|):把上一次的结果输出,作为下次结果的输入聚合框架中常用的几个操作:$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的

2017-09-29 16:20:41 480

原创 mongodb基础

属于NoSQL, 非关系型数据库内存级读写C++开发的,运行稳定,性能高分布式 文档存储 (物理+内存)存储collection 集合document 文档(集合中的一个数据)查看Ubuntu版本cat /etc/issue安装1.导入软件源的公钥sudo apt-key adv --keyserver hkp://key

2017-09-29 16:05:50 331 1

原创 python字符串处理技巧

1. 调整字符串中文本的格式"""把"yyyy-mm-dd" 改为 "yyyy/mm/dd"解决方法:使用正则表达式re.sub()方法做字符串替换,利用正则表达式的捕获组(加括号),抓获每个部分内容,在替换字符串中调整各个捕获组的顺序re.sub('正则表达式', '(使用原始字符串,转义)组1\组2\...', 文本)参数2:月/日/年的形式输出。"""# log =

2017-09-28 05:28:28 303

原创 python拆分含有多种分隔符的字符串

两种方法:'''1.使用split方法,每次处理一种分隔符2.正则表达式'''str = 'dimples 1994 0.0 5454 \\2017/9.27 "haha" '方法一def mySplit(s, ds): res = [s] for d in ds: t = [] map(lambda x : t.exte

2017-09-27 08:08:49 1011

原创 MySQL之连接查询

几种连接内链接 (inner) 两张表公共的部分集合在一起(取交集),产生的结果集全外连接 (full outer) 所有在A表和B表中存在的数据。无法对应Null填充 只存在于A表或B表中的数据,过滤两个表公共的部分左外连接 (left outer) A表和B表,以左表为基础, 只存在A表且不存在B表中的结果右外连接 (right outer) 以右表为基

2017-09-26 08:22:24 273

原创 NoSQL简介

非关系型数据库用于存储数据,最终一致性(数据结构服务器)为什么要使用高并发读写海量数据的高效率存储和访问高可扩展性和高可用性四大分类键值对存储:(radis:快速查询,村塾的数据恶恶少结构化)列存储查找速度快,扩展性强,功能比较局限文档数据库(mongoDB)数据结构要求不是严格,缺少统一查询语法图形数据库

2017-09-26 07:39:04 380

转载 python如何使用生成器函数实现可迭代对象

实际案例实现一个可迭代对象的类,它能迭代出给定范围内所有素数:pn = PrimeNumbers(1, 30)for k in pn: print k123输出结果为:2 3 5 7 11 13 17 19 23 291解决方案:将该类的__iter__方法实现成生成器函数,每次yield返回一个素数。有了解决方案后,我们首先要了解一下什么是生成器

2017-09-25 20:40:26 966

原创 MySQL之分组

分组按照字段分组,表示此字段相同的数据回被放到一个组中分组后,只能查询出相同的数据列可以对分组后的数据进行统计,做聚合运算语法:select 列1,列2,聚合... from 表名 group by 列1,列2,列3...查询男女生总数select gender,count(*) from students group by gender;分组后进行筛选查询

2017-09-25 00:36:55 436

原创 MySQL之聚合查询

将现有的多行数据进行统计,只能看到结果count(): 计算总行数,括号中写星与列名,结果是相同的*查询学生总数select count(*) from students;max(列): 表示此列的最大值查询女生编号的最大值select max(id) from students where gender=0;min(列): 表示此列的最小值查询 未删除的学生最小编号s

2017-09-25 00:13:17 528

原创 MySQL之where查询

比较运算只显示id,name: select id,name from students;消除重复行distinctselect distinct gender from students;条件select * from students where id>3;select * from students where isDelete=0;逻辑运算

2017-09-25 00:10:48 1985

原创 MySQL之备份与恢复

数据备份进入超级管理员:sudo -s进入mysql目录:cd ~/下载/mysql进入mysqldump命令:mysqldump -uroot -p 数据库名 > ~/下载/bak.sqlexitcd ~/下载/ls数据恢复连接mysql, 创建数据库退出连接, 执行如下命令mysql -uroot -p py31

2017-09-24 22:52:15 213

原创 MySQL之数据操作

逻辑删除保护重要数据。1. 在数据库中新增一个字段 isDelete, bit类型, 默认为0,表示没有删除。2. 若要删除改为1,获取 isDelete=0 的数据。查看更多mysql命令:mysql --help查询当前所选的数据库:show databases; 查看所有数据库select database(); 查询当前所选的

2017-09-24 19:52:49 472

原创 ubuntu安装navicat

下载Linux版本: https://www.navicat.com.cn/download/navicat-premium下载 navicat120_premium_cs_x64.tar.gz 文件下载后解压tar文件tar -zxvf navicat120_premium_cs_x64.tar.gz解压后 进入解压后的目录运行命令:./sta

2017-09-24 10:42:45 632

转载 Ubuntu上安装MySQL

Ubuntu上安装MySQL非常简单只需要几条命令就可以完成。1. sudo apt-get install mysql-server2. apt-get isntall mysql-client3. sudo apt-get install libmysqlclient-dev安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

2017-09-24 09:11:15 205

原创 python可迭代对象和迭代器对象

由python内置函数iter得到一个迭代器对象, 由可迭代对象得到迭代器l = ['1', '2', '3', '4']s = 'dimples'for x in l: print x列表和字符串是可迭代对象列表满足了特殊的接口: l.__iter__()列表调用iter(l),实际上内部调用了l.__iter__()字符串并没有这个方法,但是有s.__getitem_

2017-09-23 08:13:40 662

原创 ajax跨域设置django-cors-headers

安装pip install django-cors-headers然后将其添加到已安装的应用程序中:INSTALLED_APPS =( ... ' corsheaders ', ... )还需要添加一个中间件类来收听响应:MIDDLEWARE = [ #或MIDDLEWARE_CLASSES on Django 1.10

2017-09-22 20:39:02 7530

原创 python字典保持有序

"""使用collections.OrderedDict(有序字典)以OrderedDict替代内置字典Dict,依次将选手成绩存入OrderedDict"""from collections import OrderedDictd = OrderedDict()d['aaa'] = (1, 45)d['bbb'] = (2, 47)d['ccc'] = (3, 50)pri

2017-09-22 08:14:08 355

原创 python快速找到多个字典中的公共键

""" 第一轮:{'a': 1, 'b': 2} 第二轮:{'c': 1, 'd': 2} ... ... 统计出钱N轮,每场比赛都有进球的球员"""方法一:(效率低)随机产生进球成员(随机取样)s = sample('abcdefg', randint(3, 6))print ss1 = {x: randint(1, 4) for x

2017-09-22 05:02:38 509

转载 django 外键操作

看了这篇文章,觉得例子说的很好我先定义两个模型,一个是作者,一个是作者出版的书籍,算是一对多的类型。class Person(models.Model);name = models.CharField('作者姓名', max_length=10)age = models.IntegerField('作者年龄')class Book(models.Model):pe

2017-09-21 22:25:59 1849

原创 python根据字典中值的大小,对字典中的项排序

根据成绩高低,计算排名1.利用zip将字典数据转化元组from random import randintd = {x: randint(60, 100) for x in 'abcdef'}print dprint sorted(d)print zip(d.itervalues(), d.iterkeys())print sorted(zip(d.itervalues()

2017-09-21 08:40:28 1941

原创 python统计序列中元素出现的频率

随机序列,找出出现次数最高的3个元素,输出出现次数from random import randintdata = [randint(0, 20) for _ in xrange(30)]print data# data作为键, 0作为值c = dict.fromkeys(data, 0)for x in data: c[x] += 1print c""" 使用

2017-09-21 06:09:24 1559

原创 一个小项目带你了解rest framework

这边声明一下,以下是参考官方文档来的。新建项目新建名为dimples的django项目在其中建立一个名为astart的APP:新建目录# 新建目录mkdir dimplescd dimples新建虚拟环境virtualenv envenv\Scripts\activate在虚拟环境中安装依赖pip inst

2017-09-20 19:41:21 4874

原创 django-rest-framework安装

1.在虚拟环境中安装依赖pip install djangopip install djangorestframework2.安装HTTPiepip install -U https://github.com/jkbr/httpie/tarball/master3.命令行访问http -a 用户:密码.54 http://127.0.0.1:8000/user/

2017-09-20 19:06:26 1853

原创 python 为元组的每个元素命名

访问元组的信息时,我们使用索引(index)访问,会大量降低程序可读性,所以用以下两种方式可以解决这个问题。定义类似于其他语言的枚举类型,也就是定义一系列数值常量使用标准库中 collections.namedtuple 替代内置tuple方法一:NAME = 0AGE = 1SEX = 2EMAIL = 3student = ('Dimples', 23, '女',

2017-09-20 07:59:47 882

原创 Python在列表,字典,集合中根据条件筛选数据

# 随机生成10个数区间(-10, 10)from random import randintdata = [randint(-10, 10) for _ in xrange(10)]1.操作列表1.使用filter函数""" filter(过滤函数,列表) lambda x: 匿名函数, 参数(依次迭代列表中的每一个参数) 返回Boolean值 x >= 0

2017-09-19 08:20:49 1099

原创 Django和Tornado 的理解

Django注重高效开发全自动化的管理后台(只需要使用起ORM,做简单的定义,就能自动生成数据库结构,全功能的管理后台)session功能Tornado注重性能优越,速度快解决高并发异步非阻塞websockets 长连接内嵌了HTTP服务器单线程的异步网络程序,默认启动时根据CPU数量运行多个实例;利用CPU多核的优势。1.要性能, Tornad

2017-09-19 08:05:41 9489 1

原创 Django 对比get和filter区别

get只能取出一条数据,如果满足条件的数据有多条,抛出异常没有数据,也会抛出异常filter如果有数据,就返回QuerySet(类似于可以遍历的数组) 如果没有数据,返回empty(不会抛异常)get只能取出一条数据,如果满足条件的数据有多条,抛出异常没有数据,也会抛出异常filter如果有数据,就返回QueryS

2017-09-18 08:00:05 622

原创 django验证码框架(django-simple-captcha)

github详情:http://django-simple-captcha.readthedocs.io/en/latest/usage.html安装:pip install django-simple-captcha==0.4.6将captcha添加到setting的app中:以下添加到urls中:url(r'^captcha/', incl

2017-09-15 20:33:59 4160

原创 django发送邮件,激活账户

setting中配置# 发送邮件配置EMAIL_HOST = "smtp.163.com"EMAIL_PORT = 25EMAIL_HOST_USER = '*******@163.com'EMAIL_HOST_PASSWORD = 'password'EMAIL_USE_TLS = FalseEMAIL_FROM = '*******@163.com' #和user名称保持一致

2017-09-15 20:25:12 1072

原创 django上传图片

1.setting中设置# 上传文件,资源配置MEDIA_URL = '/dimples/'MEDIA_ROOT = os.path.join(BASE_DIR, 'dimples')2.model只存储路径image = models.ImageField(upload_to='image/%Y/%m',default=u'image/default.png',max

2017-09-15 20:05:31 820 1

原创 django实现分页(pure-pagination)

安装:pip install django-pure-pagination具体步骤搜索GitHub里面详情。class OrgView(View): """ 课程机构列表功能 """ def get(self, request): all_orgs = CourseOrg.objects.all() # 课程机构

2017-09-15 19:42:08 2783

转载 xadmin下设置“use_bootswatch = True”无效

xadmin采用源代码的方式引入到项目中在xadmin使用的过程中,设置“use_bootswatch = True”,企图调出主题菜单,显示更多主题。然而设置了后,发现主题还是默认和bootstrap2,深入跟踪源代码,发现/xadmin/plugins/themes.py下的block_top_navmenu当use_bootswatch 为True的时候,就会使用httplib2

2017-09-13 11:23:27 3023

原创 xadmin遇到的错误

1.'WSGIRequest' object has no attribute 'user'解决方法:这是Django版本的问题,1.9之前,中间件的key为MIDDLEWARE_CLASSES, 1.9之后,为MIDDLEWARE。所以在开发环境和其他环境的版本不一致时,要特别小心,会有坑。需要在settings里面把MIDDLEWARE改为MIDDLEWARE_CLAS

2017-09-13 08:18:41 4249 3

原创 django-基本命令

1. 新建一个 django projectdjango-admin.py startproject 项目名#特别是在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试2. 新建 app要先进入项目目录下,cd 切换到项目名下python manage.py startapp app名字或 django-ad

2017-09-06 01:26:57 505

原创 Error loading MySQLdb module: No module named MySQLdb.

在项目的init中填写如下代码就可以了:import pymysql# 引入pymysqlpymysql.install_as_MySQLdb()

2017-09-05 16:33:54 362 2

转载 windows下搭建virtualenv、virtualenvwrapper虚拟环境

http://blog.csdn.net/shaququ/article/details/54292043

2017-09-04 20:27:40 270

转载 flask-MTV模式

所谓的MTV ( Model–Template–View ),翻译一下就是模型、模板、视图。一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户

2017-09-04 09:12:31 1342

原创 flask-用户认证(下)

确认账户对于某些特定类型的程序,有必要确认注册时用户提供的信息是否正确。常见要求是能通过提供的电 子邮件地址与用户取得联系。为验证电子邮件地址, 用户注册后,程序会立即发送一封确认邮件。新账户先被标记成未激活状态,用户点击邮件中的链接后,才能激活。账户确认过程中,往往会要求用户点击一个包含确认令牌的特殊 URL 链接。1. 使用itsdangerous生成确认令牌

2017-09-02 14:13:02 1891

原创 AttributeError: 'AnonymousUserMixin' object has no attribute 'confirmed'

这里,confirmed是User数据库的一个属性解决方式:必须在已经注册后继续执行也可以:在models里面,新建一个匿名用户类class AnonymousUser(AnonymousUserMixin): # confirmed = False @property def confirmed(self): return FalseloginManage

2017-09-02 10:09:25 4105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除