自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Django---URL

Django的URL配置1 静态路由2 动态路由位置参数关键字参数3 路由分发4 向view函数中传参5 向include中传参6 URL别名1. Django的URL配置1.1 静态路由urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello/$', hello), url(r'^time

2017-07-20 23:33:21 447 1

原创 xss,csrf,cookie,session

XSS攻击跨站脚本攻击Django自动屏蔽跨站脚本攻击如果要跳过限制有两种方法在后端屏蔽from django.utils.safestring import marksafetemp = "<a href='http://www.baidu.com'>百度</a>"newtemp = marksafe(temp)return render(request, 'hello.html', {

2017-07-20 19:37:24 520

原创 Django---orm单表操作

单表操作建立一张表,如下所示1|r&d2|sales3|financial# 增models.UserGroup.objects.create(title='sales')# 删models.UserGroup.objects.filter(id=3).delete()# 改models.UserGroup.objects.filter(id=1).update(title='r&d'

2017-07-09 22:05:14 376

原创 Django---orm多表操作

一对多正向查询反向查询多对多1 基于关系表的多对多11联合唯一索引2 基于ManyToManyField的多对多21 数据查询正向查找反向查找3 自定义关系表与ManyToManyField联合使用4 自关联orm其它操作1 排序2分组3 过滤4 F Q extra41 F42 Q43 extra44 raw sql45 连表查询46 多次查询1. 一对多通

2017-07-09 22:03:39 5015

转载 什么是web框架

[TOC] web应用框架,或者简单的说是“web 框架”,其实是一种建立web应用的一种方式。从简单的博库系统到复杂的富AJAX应用,web上每个页面都是通过代码来生成的。我发现很多人热衷于学习web框架技术,例如Flask或者Django之类的,但是很多人并不理解什么是web框架,韩剧哦这他们是如何工作的。这篇文章中,我讲探索反复被忽略的web框架基础的话题。阅读完这篇文章,你应该首先对什么是

2017-06-30 19:34:14 643

原创 mysql---多表查询

很多应用场景下,数据查询会涉及多张表,即多表查询。这些表之间存在连结关系。 多表连结分为:内连结,外连结, 交叉连结。 针对内外连结对应不同的连结方法内连结:(inner)join外连结:left(outer) join, right(outer) join, union交叉连结:cross join其中, 1. join和inner join是等价的 2. left join和le

2017-06-15 14:37:27 349

原创 mysql---视图

视图是虚拟表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。 视图的一些常见应用 重用sql语句 简化复杂的sql操作。在编写查询后,可以方便地重用它而不必知道他的基本查询细节。 使用表的组成部分而不是整个表。 保护数据。可以给用户授权表的特定部分的访问权限而不是整个表的访问权限。 更改数据格式和标识。视图可以返回与底层表的表示和格式不同的数据

2017-06-14 11:32:52 306

原创 mysql---插入数据

通过INSERT可以实现数据的插入,插入的方式分以下几种:插入完成的行插入行的一部分插入多行插入某些查询的结果1. 插入完整的行INSERT INTO customers(cust_name, cust_address, cust_city, cust_state,

2017-06-14 08:12:10 290

原创 mysql---数据分组

将数据进行分组可以把数据分为多个逻辑组,便于对每个组进行对应的操作。通过GROUP BY和HAVING子句可以实现数据分组。1. 创建分组SELECT vend_id, COUNT(*) AS num_prodsFROM productsGROUP BY vend_id;SELECT语句指定了连个列,vend_id包含产品供应商的ID,num_prods为计算字段(用COUNT(*)函数建立)。

2017-06-13 20:45:00 649

原创 mysql---使用函数处理数据

SQL支持利用函数来处理数据,不同的DBMS都有自己特有的函数,移植性差,所以决定使用函数要做好注释,方便在移植到其他DBMS时进行修改。1. 函数类型文本串处理函数数值计算函数日期时间处理函数系统函数(用户信息,版本信息等)1.1 文本处理函数 函数 说明 Left() 返回字符串左边的字符 Length() 返回字符串长度 Locate() 转出字符串的一

2017-06-13 16:16:31 513

原创 mysql---使用函数处理数据

1. 聚集函数在一些应用场景下,需要得到数据的汇总信息而不用检索出来,mysql提供了5个专门的函数汇总数据。 函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列之和COUNT()函数由两种使用方式: - 使用COUNT(*)对表中行的数目进行计数

2017-06-13 16:12:09 306

原创 mysql---使用函数处理数据

SQL支持利用函数来处理数据,不同的DBMS都有自己特有的函数,移植性差,所以决定使用函数要做好注释,方便在移植到其他DBMS时进行修改。1. 函数类型文本串处理函数数值计算函数日期时间处理函数系统函数(用户信息,版本信息等)1.1 文本处理函数 函数 说明 Left() 返回字符串左边的字符 Length() 返回字符串长度 Locate() 转出字符串的一

2017-06-13 16:10:50 332

原创 mysql---使用函数处理数据

SQL支持利用函数来处理数据,不同的DBMS都有自己特有的函数,移植性差,所以决定使用函数要做好注释,方便在移植到其他DBMS时进行修改。1. 函数类型文本串处理函数数值计算函数日期时间处理函数系统函数(用户信息,版本信息等)1.1 文本处理函数 函数 说明 Left() 返回字符串左边的字符 Length() 返回字符串长度 Locate() 转出字符串的一

2017-06-13 11:19:27 531

原创 mysql---计算字段

1. 计算字段存储在数据库表中的数据一般不是应用程序所需要的格式,例如如果想要在一个字段中既显示公司名,又显示显示公司地址,但这两个信息一般包含在不同的表列中。 但实际需要的是直接从数据库中检索出转换、计算或格式化过的数据;而不是先检索出数据,然后再在客户机应用程序或报告程序中重新格式化。 通过计算字段可以获取到实际需要的数据,但计算字段并不实际存在于数据库中。计算字段是运行时在SELECT语句

2017-06-13 09:23:11 1243

原创 mysql---使用正则表达式搜索

mysql仅仅支持正则表达式的一个很小的子集1. 基本字符匹配检索prob_name包含文本四位数字且数字末尾是’000’的所有行SELECT prob_nameFROM productsWHERE prob_name REGEXP '.000'ORDER BY prob_name;这个例子可以用LIKE来完成,方法如下所示:SELECT prod_nameFROM productsWHE

2017-06-12 15:36:23 342

原创 mysql---使用通配符搜索

1. LIKE操作符有些应用场景过滤条件中使用的值并不是已知的,例如如果搜索产品名中包含某些文本的所有产品。 解决这个问题,可以通过构造一个通配符搜索模式,找出产品名中任何位置出现特定文本的产品 通配符(wildcard) 用来匹配值的一部分的特殊字符 搜索模式(search pattern) 由字面值、通配符或者两者组合构成的搜索条件在搜索子句中使用通配符,必须使用LIKE操作符。L

2017-06-12 09:04:41 599

原创 mysql---使用操作符过滤数据

1. 组合WHERE子句1.1 AND操作符SELECT prod_id, prod_price, prod_nameFROM productsWHERE vend_id = 1003 AND prod_price <= 10; AND用在WHERE子句中的关键字,用来指示检索满足所有给定条件的行 上述例子中值包含了一个AND,还可以多个AND一起使用1.2 OR操作符SELECT

2017-06-12 08:40:09 378

原创 mysql---过滤数据

通过WHERE指定搜索条件1. WHERE语句SELECT prod_name, prod_priceFROM productsWHERE prod_price=2.50;只返回prod_price值为2.50的行 WHERE如果和ORDER BY一同使用需要让ORDER BY置于WHERE之后2. WHERE操作符 操作符 说明 = 等于 <> 不等于 !=

2017-06-12 08:09:33 816

原创 mysql---数据排序检索

1. 排序数据关系数据库设计理论认为,如果没有明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。可以使用ORDER BY对输出进行排序。SELECT prod_nameFROM productsORDER BY prod_name; 使用非选择列排序 通常使用被选择的列进行排序,但也可以使用其他列作为排序依据,排序被选择的列2. 按多个列排序很多应用场景下需要按照多个排序依据进行排序

2017-06-12 07:02:27 321

原创 mysql---基本数据检索

1. 检索单个列SELECT prod_nameFROM products;从products表中检索一个名为prod_name的列2. 检索多个列SELECT prod_id, prod_name, prod_priceFROM products;一次检索多个列,需要给出多个列名,列名之间以逗号隔开,最后一个列名不加逗号,否则会出错3. 检索所有列SELECT *FROM products;

2017-06-12 06:37:19 394

原创 css基础(未完待续)

backgroundborderpaddingmaginfonta其他标签a标签伪类默认样式重置块元素和内嵌元素img 标签浮动原理clear将整个页面分成三部分清浮动css相对定位backgroundbackground: blue url(img) no-repeat 10px 50px fixed;repeat 重复 repeat-x repeat

2017-06-01 19:37:07 420

原创 Django基础知识

一 Django的MTV模式二 一些命令行工具三 Django中的MTV1 URL调度器2 视图view21 概念3 模板template31 变量过滤器filter32 模板语言之if和for33 模板语言之各路标签34 自定义filter和simple_tag35 标签之继承extend和添加include模板继承模板添加4 模型model一. Django的MTV

2017-05-30 19:10:17 872

原创 Python中类的内置方法

__getattr__ __setattr__ __delattr____getattribute____getitem__ __setitem__ __delitem____repr__ __str__ __format____str____repr____format____get__ __set__ __delete____del____copy__ __deepcopy__

2017-05-22 15:02:23 6868

原创 Python中的迭代器与生成器

一 迭代器迭代器协议可迭代对象iter与next迭代器优缺点判断迭代器与可迭代对象列表解析式二 生成器生成器概念生成器的优点生成器表达式和列表解析式生成器函数总结一. 迭代器1. 迭代器协议对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退)2. 可迭代对象实现了迭代器协议的对象(如何

2017-05-10 19:37:49 388

原创 Python中线程与进程

一 概念进程线程进程与线程的关系并行与并发同步与异步二 Python全局解释器锁GIL三 threading模块threading类直接创建thread类继承方式创建join 和 setDaemon四 锁五 递归锁六 同步对象七 信号量八 线程队列九 生产者消费者模型十 多进程调用process类的使用十一 进程间通信进程队列Queue管道manager

2017-05-08 18:37:22 3398 2

原创 Python中常用的一些模块

一. os模块 函数名 使用方法 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir(“dirname”) 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: (‘.’) os.pardir 获取当前目录的父目录字符串名:(‘..’) os.makedirs(‘dirname1/di

2017-05-07 20:40:59 292

原创 Python中的装饰器

装饰器: 本质就是函数,为其他函数添加附加功能装饰器原则:不修改被装饰函数的源代码不修改被装饰函数的调用方式装饰器=高阶函数 + 函数嵌套 +闭包1.高阶函数定义:函数接收的参数是一个函数名函数的返回值是一个函数名满足上述任意一个条件的函数即为高阶函数高阶函数示例def foo(): print("hello")# 函数名作为参数def func_1(func): pr

2017-05-07 09:07:27 281

原创 Python中的模块与包

一. 模块1. 概念为了便于代码维护,一般很多函数分组,分别放到不同的文件里,每个文件包含的代码就相对较少,维护也更方便。在Python中,一个.py文件就称之为一个模块(Module)。 Python中模块分为三种: Python标准库,第三方模块,应用程序自定义模块 使用模块可以帮助避免函数与其他模块函数重名,函数名与变量名重名的问题。 此外,要尽量避免定义的模块名与内置函数(build

2017-05-05 14:59:32 384

原创 Python之socket编程(未完待续)

一 CS架构二 TCP UDP IP之间的关系二 套接字套接字工作流程套接字函数基于TCP的socket编程基于UDP的socket编程一. C/S架构C/S架构有叫做 客户端/服务端 架构。 服务器是一个软件或者硬件,用于提供客户需要的“服务”,服务器存在的唯一目的就是等待客户的请求,给这些客户提供服务,然后再等待其他请求。 硬件 客户/服务器 架构 打

2017-05-03 17:23:03 1254

原创 Python之面向对象(持续更新)

一 类和对象相关知识概念初识类类的作用类属性增删改查实例属性增删改查对象与实例属性静态属性类方法静态方法组合继承接口设计与归一化设计抽象类抽象类与接口的关系继承顺序Python3中的继承顺序Python2中的继承顺序子类调用父类的方法super调用父类的方法多态多态性封装封装的两个层面第一个层面第二个层面通过property实现封装反射动态导入

2017-05-03 11:49:12 385

转载 markdown语法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-05-03 11:00:51 222

空空如也

空空如也

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

TA关注的人

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