澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

询问笔记,对Python的Django框架中的项目进展单元

 bootstrap cdn在线地址

对Python的Django框架中的项目进行单元测试的方法,pythondjango

 Python中的单元测试

我们先来回顾一下Python中的单元测试方法。
下面是一个 Python的单元测试简单的例子:

假如我们开发一个除法的功能,有的同学可能觉得很简单,代码是这样的:

def division_funtion(x, y):
  return x / y

但是这样写究竟对还是不对呢,有些同学可以在代码下面这样测试:

def division_funtion(x, y):
  return x / y


if __name__ == '__main__':
  print division_funtion(2, 1)
  print division_funtion(2, 4)
  print division_funtion(8, 3)

但是这样运行后得到的结果,自己每次都得算一下去核对一遍,很不方便,Python中有 unittest 模块,可以很方便地进行测试,详情可以文章最后的链接,看官网文档的详细介绍。

下面是一个简单的示例:

import unittest


def division_funtion(x, y):
  return x / y


class TestDivision(unittest.TestCase):
  def test_int(self):
    self.assertEqual(division_funtion(9, 3), 3)

  def test_int2(self):
    self.assertEqual(division_funtion(9, 4), 2.25)

  def test_float(self):
    self.assertEqual(division_funtion(4.2, 3), 1.4)


if __name__ == '__main__':
  unittest.main()

我简单地写了三个测试示例(不一定全面,只是示范,比如没有考虑除数是0的情况),运行后发现:

F.F
======================================================================
FAIL: test_float (__main__.TestDivision)
----------------------------------------------------------------------
Traceback (most recent call last):
 File "/Users/tu/YunPan/mydivision.py", line 16, in test_float
  self.assertEqual(division_funtion(4.2, 3), 1.4)
AssertionError: 1.4000000000000001 != 1.4

======================================================================
FAIL: test_int2 (__main__.TestDivision)
----------------------------------------------------------------------
Traceback (most recent call last):
 File "/Users/tu/YunPan/1.py", line 13, in test_int2
  self.assertEqual(division_funtion(9, 4), 2.25)
AssertionError: 2 != 2.25

----------------------------------------------------------------------
Ran 3 tests in 0.001s

FAILED (failures=2)

汗!发现了没,竟然两个都失败了,测试发现:

4.2除以3 等于 1.4000000000000001 不等于期望值 1.4

9除以4等于2,不等于期望的 2.25

下面我们就是要修复这些问题,再次运行测试,直到运行不报错为止。

譬如根据实际情况,假设我们只需要保留到小数点后6位,可以这样改:

def division_funtion(x, y):
  return round(float(x) / y, 6)

再次运行就不报错了:

...
----------------------------------------------------------------------
Ran 3 tests in 0.000s

 
OK

Django中的单元测试

尽早进行单元测试(UnitTest)是比较好的做法,极端的情况甚至强调“测试先行”。现在我们已经有了第一个model类和Form类,是时候开始写测试代码了。

Django支持python的单元测试(unit test)和文本测试(doc test),我们这里主要讨论单元测试的方式。这里不对单元测试的理论做过多的阐述,假设你已经熟悉了下列概念:test suite, test case, test/test action,  test data, assert等等。

在单元测试方面,Django继承python的unittest.TestCase实现了自己的django.test.TestCase,编写测试用 例通常从这里开始。测试代码通常位于app的tests.py文件中(也可以在models.py中编写,但是我不建议这样做)。在Django生成的 depotapp中,已经包含了这个文件,并且其中包含了一个测试用例的样例:

depot/depotapp/tests.py

from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1   1 always equals 2.
"""
self.assertEqual(1   1, 2)

你可以有几种方式运行单元测试:

  • python manage.py test:执行所有的测试用例
  • python manage.py test app_name, 执行该app的所有测试用例
  • python manage.py test app_name.case_name: 执行指定的测试用例

用第三种方式执行上面提供的样例,结果如下:

$ python manage.py test depotapp.SimpleTest

Creating test database for alias 'default'...
.
----------------------------------------------------------------------
Ran 1 test in 0.012s

OK
Destroying test database for alias 'default'...

你可能会主要到,输出信息中包括了创建和删除数据库的操作。为了避免测试数据造成的影响,测试过程会使用一个单独的数据库,关于如何指定测试数据库 的细节,请查阅Django文档。在我们的例子中,由于使用sqlite数据库,Django将默认采用内存数据库来进行测试。

下面就让我们来编写测试用例。在《Agile Web Development with Rails 4th》中,7.2节,最终实现的ProductTest代码如下:

class ProductTest < ActiveSupport::TestCase
test "product attributes must not be empty"do
product = Product.new
assert product.invalid?
assert product.errors[:title].any?
assert product.errors[:description].any?
assert product.errors[:price].any?
assert product.errors[:image_url].any?
end
test "product price must be positive"do
product = Product.new(:title => "My Book Title",
:description => "yyy",
:image_url => "zzz.jpg")
product.price = -1
assert product.invalid?
assert_equal "must be greater than or equal to 0.01",
product.errors[:price].join('; ')
product.price = 0
assert product.invalid?
assert_equal "must be greater than or equal to 0.01",
product.errors[:price].join('; ')
product.price = 1
assert product.valid?
end
def new_product(image_url)
Product.new(:title => "My Book Title",
:description => "yyy",
:price => 1,
:image_url => image_url)
end
test "image url"do
ok = %w{ fred.gif fred.jpg fred.png FRED.JPG FRED.Jpg
http://a.b.c/x/y/z/fred.gif }
bad = %w{ fred.doc fred.gif/more fred.gif.more }
ok.eachdo |name|
assert new_product(name).valid?, "#{name} shouldn't be invalid"
end
bad.eachdo |name|
assert new_product(name).invalid?, "#{name} shouldn't be valid"
end
end
test "product is not valid without a unique title"do
product = Product.new(:title => products(:ruby).title,
:description => "yyy",
:price => 1,
:image_url => "fred.gif")
assert !product.save
assert_equal "has already been taken", product.errors[:title].join('; ')
end
test "product is not valid without a unique title - i18n"do
product = Product.new(:title => products(:ruby).title,
:description => "yyy",
:price => 1,
:image_url => "fred.gif")
assert !product.save
assert_equal I18n.translate('activerecord.errors.messages.taken'),
product.errors[:title].join('; ')
end
end

对Product测试的内容包括:

1.title,description,price,image_url不能为空;

  1. price必须大于零;

  2. image_url必须以jpg,png,jpg结尾,并且对大小写不敏感;

  3. titile必须唯一;

让我们在Django中进行这些测试。由于ProductForm包含了模型校验和表单校验规则,使用ProductForm可以很容易的实现上述测试:

depot/depotapp/tests.py

#/usr/bin/python
#coding: utf8
"""
This file demonstrates writing tests using the unittest module. These will pass
when you run "manage.py test".
Replace this with more appropriate tests for your application.
"""
from django.test import TestCase
from forms import ProductForm
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1   1 always equals 2.
"""
self.assertEqual(1   1, 2)
class ProductTest(TestCase):
def setUp(self):
self.product = {
'title':'My Book Title',
'description':'yyy',
'image_url':'http://google.com/logo.png',
'price':1
}
f = ProductForm(self.product)
f.save()
self.product['title'] = 'My Another Book Title'
#### title,description,price,image_url不能为空
def test_attrs_cannot_empty(self):
f = ProductForm({})
self.assertFalse(f.is_valid())
self.assertTrue(f['title'].errors)
self.assertTrue(f['description'].errors)
self.assertTrue(f['price'].errors)
self.assertTrue(f['image_url'].errors)
####  price必须大于零
def test_price_positive(self):
f = ProductForm(self.product)
self.assertTrue(f.is_valid())
self.product['price'] = 0
f = ProductForm(self.product)
self.assertFalse(f.is_valid())
self.product['price'] = -1
f = ProductForm(self.product)
self.assertFalse(f.is_valid())
self.product['price'] = 1
####  image_url必须以jpg,png,jpg结尾,并且对大小写不敏感;
def test_imgae_url_endwiths(self):
url_base = 'http://google.com/'
oks = ('fred.gif', 'fred.jpg', 'fred.png', 'FRED.JPG', 'FRED.Jpg')
bads = ('fred.doc', 'fred.gif/more', 'fred.gif.more')
for endwith in oks:
self.product['image_url'] = url_base endwith
f = ProductForm(self.product)
self.assertTrue(f.is_valid(),msg='error when image_url endwith ' endwith)
for endwith in bads:
self.product['image_url'] = url_base endwith
f = ProductForm(self.product)
self.assertFalse(f.is_valid(),msg='error when image_url endwith ' endwith)
self.product['image_url'] = 'http://google.com/logo.png'
###  titile必须唯一
def test_title_unique(self):
self.product['title'] = 'My Book Title'
f = ProductForm(self.product)
self.assertFalse(f.is_valid())
self.product['title'] = 'My Another Book Title'

然后运行 python manage.py test depotapp.ProductTest。如同预想的那样,测试没有通过:

Creating test database for alias 'default'...
.F..
======================================================================
FAIL: test_imgae_url_endwiths (depot.depotapp.tests.ProductTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/holbrook/Documents/Dropbox/depot/../depot/depotapp/tests.py", line 65, in test_imgae_url_endwiths
self.assertTrue(f.is_valid(),msg='error when image_url endwith ' endwith)
AssertionError: False is not True : error when image_url endwith FRED.JPG

----------------------------------------------------------------------
Ran 4 tests in 0.055s

FAILED (failures=1)
Destroying test database for alias 'default'...

因为我们之前并没有考虑到image_url的图片扩展名可能会大写。修改ProductForm的相关部分如下:

def clean_image_url(self):
url = self.cleaned_data['image_url']
ifnot endsWith(url.lower(), '.jpg', '.png', '.gif'):
raise forms.ValidationError('图片格式必须为jpg、png或gif')
return url

然后再运行测试:

$ python manage.py test depotapp.ProductTest

Creating test database for alias 'default'...
....
----------------------------------------------------------------------
Ran 4 tests in 0.060s

OK
Destroying test database for alias 'default'...

测试通过,并且通过单元测试,我们发现并解决了一个bug。

 

需要的联系我,QQ:1844912514

学习路线有些地方没有按照顺序走,有些地方忘了没写,以后有机会会慢慢的补上,项目等我总结完毕也会上传,谢谢

您可能感兴趣的文章:

  • 使用Python的Django框架结合jQuery实现AJAX购物车页面
  • Python的Django REST框架中的序列化及请求和返回
  • 详解Python的Django框架中的templates设置
  • Python使用django获取用户IP地址的方法
  • 分析Python的Django框架的运行方式及处理流程
  • Django1.7 python 2.78 pycharm配置mysql数据库教程
  • python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
  • python django集成cas验证系统
  • 教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
  • 详解Python的Django框架中manage命令的使用与扩展

Python中的单元测试 我们先来回顾一下Python中的单元测试方法。 下面是一个 Py...

 

01 python s6 day7 上节回顾
02 python s6 day7 SNMP使用
03 python s6 day7 大型监控架构讲解
04 python s6 day7 Redis使用
05 python s6 day7 定义监控文档结构
06 python s6 day7 监控架构讲解
07 python s6 day7 定义监控模板
08 python s6 day7 自定义监控项
09 python s6 day7 通过深copy实现各主机服务的自定义配置
10 python s6 day7 配置程序全局变量等信息
11 python s6 day7 使用redis订阅服务
12 python s6 day7 客户端编写
13 python s6 day7 客户端按不同频率监控各服务
14 python s6 day7 客户端将监控数据返回给服务器端
15 python s6 day7 作业需求说明


http://www.xuliangwei.com/ http://www.nnzhp.cn

 

L08-lesson08
01 python s6 day 8 上节回顾
02 python s6 day 8 接收客户端数据后写入Redis
03 python s6 day 8 处理监控数据
04 python s6 day 8 数据超过阀值后报警
05 python s6 day 8 编写监控数据处理模块
06 python s6 day 8 面向对象编程拾遗

 

  cmdb

第1周

L09-lesson09
01py s6 day9 html概述
02py s6 day9 头部标签
03py s6 day9 body内标签1
04py s6 day9 body内标签2(password和form表单)
05py s6 day9 body内标签3(label和列表)
06py s6 day9 body内标签3(table和fieldset)
07py s6 day9 body内标签5(内联和块级标签)
08py s6 day9 class and style selector
09py s6 day9 class background
10py s6 day9 class border display margin padding
11py s6 day9 class position
12py s6 day9 后台管理框架
13py s6 day9 作业、

 

    cmdb

开课介绍

python发展介绍

第一个python程序

变量

字符编码与二进制

字符编码的区别与介绍

用户交互程序

if else流程判断

while 循环

while 循环优化版本

for 循环及作业要求

L11-lesson11
01 python s6 day 11 上节作业和读书分享
02 python s6 day 11 jQuery选择器
03 python s6 day 11 jQuery选择器eq和nth-child的区别
04 python s6 day 11 jQuery表单选择器
05 python s6 day 11 jQuery操作属性、css和返回顶部实例
06 python s6 day 11 jQuery过滤器、事件和扩展方法
07 python s6 day 11 jQuery模态对话框和ajax
08 python s6 day 11 eclipse环境的配置
09 python s6 day 11 MVC框架和python的WEB框架简介
10 python s6 day 11 Eclipse django 使用
11 python s6 day 11 创建Django project and app
12 python s6 day 11 Django用户注册和ajax请求

查询目录

    cmdb

第2周

L12-lesson12
01 python s6 day 12上节作业
02 python s6 day 12 Django路由系统
03 python s6 day 12 Windows下Python-MySQL模块的安装
04 python s6 day 12 模型字段类型
05 python s6 day 12 增删改查过滤排序
06 day12 06 模版语言和跨站请求伪造1
07 day12 06 模版语言和跨站请求伪造2
08 python s6 day 12 模板extend和include

  一,硬件                                                                   十一,数据库**

本节鸡汤

模块初识

pyc是什么

python数据类型

bytes数据类型

列表的使用

元组与购物车程序练习

购物车程序练习实例

字符串常用操作

字典的使用

三级菜单实例

本周作业-购物车优化

L13-lesson13
01 python s6 登陆页面
010 python s6 Django装饰器扩展和作业
02 python s6 后台管理
03 python s6 用户管理列表中使用bootstrap的分页
04 python s6 Django中Form的使用
05 python s6 Django中Form的使用和源码分析
06 python s6 Django中间件的魔法和python的反射
07 python s6 Django中间件的练习
08 python s6 Django利用装饰器制造过滤器
09 python s6 Django装饰器和用户认证

  二,Linux基础                                                           十二,前端**

第3周

L14-lesson14
01 python s6 day14 BBS项目介绍
02 python s6 day14 设计表结构
03 python s6 day14 设计表结构02
04 python s6 day14 启用评论插件
05 python s6 day14 定制django admin
06 python s6 day14 使用Bootstrap
07 python s6 day14 展示BBS列表
08 python s6 day14 显示评论
09 python s6 day14 提交评论内容
10 python s6 day14 添加评论
11 python s6 day14 创建新帖
12 python s6 day14 实现BBS版块动态切换
13 python s6 day14 实现BBS版块动态切换2

  三,python基础                                                        十三,Django**

作业

上节内容回顾

集合及其运算

文件读与写详解

心灵鸡汤

文件修改详解

字符编码转换详解

函数与函数式编程

函数式编程之参数详解

局部变量与全局变量作用域

递归

函数式编程与函数不同

高阶函数

L15-lesson15
01 python s7 day15 上节作业
02 python s7 day15 web聊天室(一)
03 python s7 day15 web聊天室(二)
04 python s7 day15 web聊天室(三)
05 python s7 day15 web聊天室(四)
06 python s7 day15 web聊天室(五)
07 python s7 day15 web聊天室(六)
08 python s7 day15 web聊天室(七)
09 python s7 day15 web聊天室(八)
10 python s7 day15 带你走进分页的世界 (1)
11 python s7 day15 基础知识拾遗 (编码和反射)
12 python s7 day15 基础知识拾遗 (装饰器、随机验证码和时间格式)
13 python s7 day15 基础知识拾遗(re、os、sys和作业)

  四,python文件处理                                                 十四,flask**

第4周

L16-lesson16
01 python s6 day16 上节作业
02 python s6 day16 本次课程概要
03 python s6 day16 动态添加字段和方法经典类和新式类执行父类构造函数
04 python s6 day16 检查所有父类、怪异的__call__方法
05 python s6 day16 用type创建类
06 python s6 day16 用mytype创建类
07 python s6 day16 mytype中的__call__方法
08 python s6 day16 类的__new__方法
09 python s6 day16 自定义type创建类的梳理
10 python s6 day16 类的实例化过程的梳理
11 python s6 day16 安装tornado
12 python s6 day16 什么是session
13 python s6 day16 自定义session框架(一)
14 python s6 day16 自定义session框架二
15 python s6 day16 python索引器
16 python s6 day16 大型架构session框架
17 python s6 day16 tornado生命周期概述
18 python s6 day16 tornado源码解析一
19 python s6 day16 tornado源码解析二
20 python s6 day16 django和tornado的差异

  五,函数                                                                   十五,版本控制-Git**

上节内容回顾

心灵鸡汤

装饰器详解

装饰器应用详解

装饰器之函数即变量

装饰器之高阶函数

装饰器之嵌套函数

装饰器之案例剖析

装饰器之高潮讲解

迭代器与生成器

迭代器与生成器并行

内置方法详解

Json与pickle数据序列化

软件目录结构规范

本周作业

L17-lesson17
01 s6day 17 毕业项目课前思想
02 s6day 17 运维平台架构介绍
03 s6day 17 CMDB架构介绍
04 s6day 17 如何设计NB的表结构
05 s6day 17 设计表结构
06 s6day 17 创建项目
07 s6day 17 使用Restful API标准
08 s6day 17 Django rest framework的使用
09 s6day 17 开发符合Restful标准的接口
10 s6day 17 自动创建更新资产数据

  六,模块和包                                                             十六,redis**

  1.     第一篇:初识Python

  2.   第二篇:python基础之核心风格

  3.   第三篇:python基础之数据类型与变量

  4.   第四篇:python基础之条件和循环

  5. 第五篇:python基础之字符编码

  6. py编码终极版  苑昊老师

第5周

L18-lesson18
01 s6 day18 世界上最安全的API接口验证
02 s6 day18 高度自定义的权限管理
03 s6 day18 监控模块架构介绍
04 s6 day18 定义监控模板等相关表结构
05 s6 day18 客户端自动汇报状态
06 s6 day18 监控历史数据的处理
07 s6 day18 实现异步无阻塞的思路
08 s6 day18 监控数据动态画图

  七,面向对象                                                             十七,爬虫**

   Py西游攻关之函数    苑昊老师

心灵分享

ATM存钱取钱案例剖析

模块定义、导入、优化详解

内置模块详解之time与datetime模块

内置模块详解之Range模块

内置模块详解之OS模块

内置模块详解之Sys模块

内置模块详解之Shelve模块

内置模块详解之Xml模块

内置模块详解之Configparser模块

内置模块详解之Hashlib、Hmac模块

正则表达式Re模块使用详解

L19-lesson19-end
01 s6day19 最后一课介绍
02 s6day19 任务编排系统介绍
03 s6day19 架构讲解演示
04 s6day19 架构讲解演示02
05 s6day19 Form表单的深入
06 s6day19 架构代码实现解释
07 s6day19 上传下载文件
08 s6day19 实现配置管理的思路
10 s6day19 装饰器
11 s6 day19 学期总回顾
12 s6 day19 毕业后的建议

  八,异常处理                                                             十八,项目**

   Py西游攻关之装饰器  苑昊老师

第6周

  九,网络编程                                                             十九,源码解读**

   Py西游攻关之IO model 苑昊老师

本节小鸡汤(电影分享)

面向对象介绍

面向对象特性介绍

实例演示opp编程好处

实例变量与类变量

类变量的作用及析构函数

类的继承

经典类与新式类的继承顺序

继承实例讲解

多态实例讲解

本节作业之选课系统开发

  十,进程线程协程                                                       二十,金融与算法基础

  1.   第六篇:python基础之文件处理

  2.   第七篇 python基础之函数,递归,内置函数

  3.   第八篇 迭代器协议和生成器

  4.   第九篇 装饰器

  5. 第十篇 面向对象的程序设计

  6.   第十一篇 面向对象进阶

  7.   第十二篇 异常处理

  8.   第十三篇 python基础之socket编程

  9.   常用模块

  10.   模块与包

  11.   进程与线程

第7周

  持续更新中.......

17_1    进程与线程理论基础

心灵分享

上节回顾

静态方法、类方法、属性方法

课堂扯淡

深入讲解类的特殊成员方法__init__等

深入讲解类的特殊成员方法__new__等

反射详解

异常处理TryExcept

网络编程Socket介绍

Socket通信案例消息发送与接收

 

17_2    Cpython解释器支持的进程与线程

第8周

 

  1.   函数草稿

上节回顾

Socket实现简单的ssh客户端

Socket实现简单的ssh服务端

积极思考正能量

Socket实现简单的ssh2

Socket粘包

Socket粘包深入编码

SocketServer

SocketServer多并发

多用户在线Ftp程序


18_1     selenium模块

第9周

 

  1.   常用模块

  2.   Py西游攻关之模块

  3.    多线程与多进程

  4.   Py西游攻关之RabbitMQ、Memcache、Redis

  5.   前端基础之html

  6.     前端基础之CSS

  7.     JavaScript 基础学习1

  8.     前端学习之jquery

上节回顾

paramiko模块详解

ssh密钥讲解

进程与线程

多线程

多线程案例

主线程与子线程

线程锁

线程之信号量

线程之Event

队列Queue

作业之主机批量管理

硬件:

26_1.       Django-ajax

第10周

  第一篇:操作系统简介

   jQuery

心灵分享

上节回顾

多进程

多进程Queue

多进程Pipes与Manager

进程锁与进程池详解

协程

协程Gevent

协程之爬虫

协程之Socket

IO多路复用

IO模式

Select解析Socket通信

作业

  第二篇:操作系统

       jQuery网址

第11周

linux基础:

  1.       Python开发【第十七篇】:MySQL(一)

  2.       Python开发【第十八篇】:MySQL(二)

  3.       Python开发【第十九篇】:Python操作MySQL

鸡汤

消息队列介绍

RabbitMQ基本示例

RabbitMQ消息分发轮询

RabbitMQ消息持久化

RabbitMQ fanout广播模式

RabbitMQ direct广播模式

RabbitMQ topic细致的消息过滤广播模式

Redis string操作

RabbitMQ rpc实现

Redis hash操作

Redis 集合set 和有序集合操作

Redis 集合操作补充

Redis 发布订阅及本节作业

  第一篇:初始Linux

       索引补充

第12周

  第二篇:基本使用

  1.     数据库基础

  2.     数据库进阶

  3.         MySQL练习题

  4.                 MySQL练习题参考答案

  5.        Python之路【第十六篇】:Django【基础篇】

  6.        Python之路【第十七篇】:Django【进阶篇 】

上节回顾

数据库介绍

mysql基本使用

mysql数据类型与创建表

mysql 增删改查

mysql 外键关联

mysql 连接查询

mysql 事务与索引

mysql python交互

sqlalchemy orm介绍

sqlalchemy 常用语法

sqlalchemy 外键关联

sqlalchemy 多外键关联

sqlalchemy 多对多关联

作业之学员管理系统开发

  第三篇:Linux进阶

35_1.     Django之Model操作

第13周

python基础:

35-2   s10期Tornao分享

堡垒机框架开发介绍

堡垒机源码讲解

堡垒机项目表结构设计与实现

自动创建表对象

权限分组与数据初始化

  第一篇:python基础大纲

35-3      Django知识点整理

第14周

  第二篇:变量与交互

35-4       Django之Form组件

开课介绍

前端技术概要

今日内容概要

Html本质以及在web程序中的作用

html的head内标签

html的body内标签之图标、换行及其他

chrome查看html样式基本操作

html的body内标签之input系列

html的body内标签之多行文本及下来框

html的body内标签之超链接

html的body内标签之图片及表格

html的body内标签之表格

html的body内标签之fieldset标签和label标签

上述内容总结

css选择器

css的存在形式及优先级

css边框以及其他常用样式

css之float样式

css之float实现作业实例

css之display样式

css之内外边距

本周作业以及思路

  第三篇:快捷键

35-5         python s12 day13 JavaScript、Dom和jQuery

第15周

  第四篇:基本数据类型,基本二,字符串,列表,元组,字典,集合

35-6         Python生成随机验证码

上节内容答疑

上节内容回顾

CSS内容补充之position

CSS内容补充之overflow

CSS内容之hover

CSS内容之background

初始javaScript

javascript代码存在形式

javascript基本预览

javascript字符串操作以及跑马灯实例

javascript数组和字典以及for循环

javascript条件语句

javascript函数的定义

Dom直接选择器

Dom间接选择器

示例之模态对话框

示例之全选和反选以及取消

javascript必须加分号

示例之后台管理左侧菜单

今日内容梳理

本周作业

  第五篇:基础条件和循环

35-7     Django之ModelForm组件

第16周

  第六篇:循环,元组,字典列表代码整理,计算器小程序,一大波作业来袭

35-8               Tyrion中文文档(含示例源码)

上节作业问题答疑

今日内容计划

CSS内容补充以及后台管理页面布局

后台管理页面布局

JavaScript内容回顾

JavaScript函数

JavaScript序列化及转义

开小差之自动登录抽屉并点赞

eval以及时间操作

JavaScript作用域

JavaScript面向对象及原型

Dom选择器以及内容文本操作

Dom样式操作

Dom属性及创建标签

Dom提交表单及其他

Dom事件操作

Dom事件操作补充

Dom绑定时间的另外一种方式

JavaScript 词法分析解析

前端学习方法分享

Sublime Text工具使用介绍

谢幕

  第七篇:第六篇-练习代码

 

第17周

  第八篇:集合

  1.        Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

  2.        Python开发【第十六篇】:AJAX全套

今日内容概要

jQuery 和Dom关系及jQuery版本

jQuery选择器

实例多选反选取消

删选器以及Tab菜单示例

示例:模态编程框

jQuery 样式以及属性操作

示例:TAB切换菜单

jQuery内容操作

点赞以及jQuery css操作

JQuery高度以及位置操作

JQuery 事件绑定的方式

JQuery事件之组织事件的发生

示例:表单验证

JQuery事件之页面框架和加载后自动执行

JQuery扩展以及自动执行函数的应用

JQuery阻止事件发生

JQuery扩展

作业

  第九篇:字典

37_1      KindEditor

第18周

  第十篇:元组

  1.        Python开发【第十五篇】:Web框架之Tornado

内容概要

JS正则详解

JS正则详解之验证

组件BootStrap、EasyUI、JQueryUI

插件轮播

Django_Web框架引入

Django工程创建

Django目录详解

Django创建App

Django的Model使用

Django实现用户登录与前端交互

Django路由介绍

Django知识点整理

作业

  第十一篇:列表

39            python 之路,Day12 - redis缓存数据库

第19周

  第十二篇:字符串

武沛齐tornado博客:

今日内容概要

上课内容概要

今日Django工程的创建

Django获取多个数据以及文件上传

Django的CBV和FBV

Django模板语言循环字典

Django基于正则表达式的URL

Django对应的路由名称

Django路由分发

DjangoORM基本创建基本类型以及生成数据库结构

DjangoORM使用mysql注意

DjangoORM基本增删查该

基于ORM实现用户登录

基于ORM实现用户增加删除修改以及查看详细

Django字段类型介绍

DjangoORM字段参数介绍

DjangoORM外键操作

基于DjangoORM的外键实现增加用户(含select标签)

作业

  第十三篇:日期格式化

              Python之路【第十八篇】:Web框架们

第20周

python-文件处理:

        第一篇:白话tornado源码之一个脚本引发的血案

课程安排

上课内容回顾

Django一对多的创建

创建一对多表结构

获取单表单数据的三种方式

一对多跨表操作

一对多块表操作的的三种方式

增加一对多数据示例

初识Ajax

Ajax内容基本整理

编辑一对多示例

创建多对多以及增加示例

本节内容梳理

本周作业

  第一篇:字符编码、文件处理

        第二篇:白话tornado源码之待请求阶段

第21周

python-函数:

        第三篇:白话tornado源码之请求来了

今日知识点概要

上节内容回顾以及URL的补充

视图获取用户请求相关信息以及请求头

模板之继承

模板之导入

上节作业情况

自定义 simple_tag

自定义filter

自定义分页

Cookie是什么鬼

基于Cookie实现用户登录

基于cookie实现定制显示数据条数

带签名的Cookie

CBV和FBV用户认证装饰器

本周作业

  第一篇:初始函数

        第四篇:白话tornado源码之褪去模板外衣的前戏

第22周

  第二篇:函数进阶

        第五篇:白话tornado源码之褪去模板的外衣

上节回顾

Django之url、Views

Django之Model操作

Django之模版

Django之Session

Django之Session与Cookie

Django之CSRF原理详解

Django之中间件详解

Django之缓存实例详解

Django之信号

Django之Form组件验证

作业

  第三篇:装饰器

  1.      Python之路,Day14 - It's time for Django

  2.      Python之路,Day15 - Django适当进阶篇

第23周

  第四篇:递归与二分法

                Py西游攻关之Django(一)   苑昊老师

主机管理项目需求分析

主机管理项目架构设计

主机管理项目初始构建

主机管理项目编写插件基类

主机管理项目命令分发器

主机管理项目提取主机列表

主机管理项目提取yaml配置文件_

主机管理项目动态调用插件进行数据解析

主机管理项目对模块中的参数进行解析

  第五篇:内置函数思维导图

  1.     Bootstrap框架(一)

  2.     Bootstrap框架(二)

  3.     Bootstrap框架(三)

  4.     Django~1

第24周

  第六篇:迭代器、生成器、列表推倒。。

      Django基础(一)

本节题纲

上节内容回顾

ModelForm操作及验证

ajax操作-原生ajax

ajax操作-JQuery的ajax

ajax操作-伪ajax(iframe)

ajax操作-时机选择

文件上传(3种方式)-1

文件上传-时机选择及预览-2

图片验证码

KindEditor基本使用和文件操作

作业

  第七篇:eval一个神器的函数

  1.     Http协议

  2.          Python CMDB开发

第25周

  第八篇:持续更新中。。。

46-1         CMDB开发

今日内容概要

博客系统示例预览

组合搜索组件

JSONP跨域请求jQuery方式

JSONP跨域请求本质

XSS过滤以及单例模式

博客系统表结构讲解

博客系统功能讲解

CMDB介绍

CMDB实现的三种方式

CMDB Agent客户端示例

python-模块和包:

  1.          CMDB源码使用须知

第26周

  第一篇:模块导入和包

47_1        CMDB资产采集

今日内容概要以及CMDB介绍

前端插件定制之表头

前端插件定制之表内容

第27周

前端插件定制之定制td内容以及属性

CMDB插件示例演示

算法介绍与列表查找

冒泡 选择 插入排序

快排

堆排序

  第二篇:常用的几个模块

47_2              阿里云api调用做简单的cmdb

第28周

  第三篇;摘要算法模块

  1.        python 之路,Day27 - 主机管理 堡垒机系统开发

  2.       Python之路,Day12 - 那就做个堡垒机吧

  3.     Python之路,Day20 - 分布式监控系统开发

  4.     Python之路,Day19 - CMDB、CMDB、CMDB

  5.     Python之路,Day18 - 开发一个WEB聊天来撩妹吧

  6.     Python之路,Day17 - 分分钟做个BBS论坛

堆排序复习

归并排序 希尔排序

算法练习

栈和队列

数据结构其他                                                style="font-size: 18px; color: #ff0000">需要的联系我,QQ:1844912514

style="font-size: 18px; color: #ff0000">图片 1图片 2图片 3图片 4

  第四篇:logging模块

54.

  第五篇:configparser模块

     [Django之路

项目实战之<教育行业CRM开发>]()

55.           爬虫  Q2Day81

 55_1       爬虫   Q2Day79

     python s12 day2

   http的请求和响应过程2

  http的请求和响应过程3

    python s12 day3

  MongoDB学习笔记(一)MongoDB概述和安装

    JavaScript、Dom、jQuery

    Django验证码【附源码】

         Django REST framework

 Django篇:

  web框架本质 

  Django 安装使用基础

  Django(二)路由系统、视图、模板 

  Django(三) ORM 数据库操作

  Django(四) ORM 外键操作及初识Ajax

  Django(五)母版继承、Cookie、视图装饰器等

  Django(六)Session、CSRF、中间件

  Django(七)缓存、信号、Form

  Django(八)上:Model操作和Form操作

  Django(八)下:Model操作和Form操作、序列化操作

  Django(九)上:ModelForm操作

  Django(九)下:Ajax操作、图片验证码、KindEditor使用

 

linux:

samba配置:

 

ubuntu:

mysql启停:

mysql开启3306端口:

安装pip:

 

python:

线程指南:

一行python实现并行:

memcache的权重原型代码:

PEP8 Python 编码规范整理:

  

Django:

django web框架:

django 初始化数据库:

django 请求及参数传递:

django model报错:

django框架学习-Model进阶用法:

 

前端:

天帅大神的html详解:http://www.cnblogs.com/luotianshuai/p/5159449.html

jquery: 

JavaScript、Dom、jQuery:

bootstrap-modal:http://www.bkjia.com/webzh/1037178.html 

 

Echarts:

离线使用echarts及一些细节:

 

银角脑残粉必备 :

目录:

JavaScript、Dom、jQuery:

django基础:

django基础2:

爬虫:

51:

 20170622博客:      Django部分内容(武沛齐)

金角大王那些鲜为人知的博客:

linux基础:

面试题:

 

python模块

1.pywin32 

2.Microsoft Visual C 9.0 is required  Unable to find vcvarsall.bat的解决方法:

 

git

1.

2.

 

  第六篇:持续更新中。。

python-面向对象:

  第一篇:初始面向对象

  第二篇:面向对象三大特性

  第三篇:property-staticmethod-classmethod

  第四篇:神奇的反射

  第五篇:面向对象拓展

  第六篇:持续更新。。。

python-异常处理:

  第一篇:异常处理

python-网络编程:

  第一篇:初始socket

  第二篇:客户端服务端一、客户端服务端二

  第三篇:持续更新中。。。

python-进程、线程、协程:

  第一篇:线程与进程

  第二篇:并发编程

  第三篇:多进程模拟抢票

  第五篇:进程的队列

  第六篇:互斥锁

  第七篇:开启线程的两种方式,线程queue

  第八篇:线程与进程的两种应用

  第九篇:死锁与递归锁,定时器

  第十篇:event模式数据库链接

  第十一篇:进程池与线程池,统一进程的两个任务切换问题

  第十二篇:同步与异步

  第十三篇:阻塞IO,非阻塞IO,多路复用

  第十四篇:进程、线程、协程终极版

  第十五篇:持续更新中。。

数据库-MySQL-MongoDB:

  第一篇:MySQL--数据库基本操作一,基本操作二

  第二篇:MySQL--进阶操作(了解即可)

询问笔记,对Python的Django框架中的项目进展单元测试的诀要。  第三篇:MySQL--经典习题

  第四篇:MongoDB

前端:HTML、css、JavaScript、jquery、vue.js:

  第一篇:HTML

  第二篇:css

  第三篇:JavaScript

  第四篇:jQuery,跨域实例

  第五篇:vue.js入门,项目结构介绍,es6入门

  第六篇:vue.js详细的操作实例一

  第七篇:vue-router篇

  第八篇:快速上手npm

  第九篇:初识webpack

  第十篇:持续更新中

python-Django框架:

  第一篇:安装以及介绍--Django生命周期--一些命令----笔记---笔记2--笔记3

  第二篇:初始django,MTV模型,请求方式测试

  第三篇:简单的登录注册,admin管理,权限管理测试

  第四篇:模板层,练习,模板继承,csrf跨站

  第五篇:基于MySQL的图书管理,图书管理增删改,加了cookie的图书管理

  第五篇:orm查询,查询二

  第六篇:cookie验证,cookie与session

  第七篇:diy自己的权限系统

  第八篇:Django-ajax,,跨站请求伪造,jQuery-serizlize的用法

  第九篇:文件上传,验证码,

  第十篇:持续更新中。。。。

Git-版本控制:  

  第一篇:Git入门

python-flask框架:  

  第一篇:flask各种小东西

  第二篇:flask开发框架,配置文件

  第三篇:单例模式

  第四篇:flask-session源码剖析

  第五篇:flask-session组件

  第五篇:信号

  第六篇:sqlalchemy操作,操作2,详细,,命令使用

  第七篇:flask-script

redis:

  第一篇:基本使用

爬虫相关;

  第一篇:爬取校花网资源

  第二篇:请求库-request

  第三篇:解析库-re-beautifulsoup

  第四篇:存储库-MySQL(见上面MySQL),MongoDB

  第五篇:github绵密登录,自动投递简历

  第六篇:提高爬虫性能,爬虫性能测试代码

  第七篇:爬虫框架scrapy1,爬虫框架scrapy2

  第八篇:爬取亚马逊商品信息,爬取网络小说

  第九篇:分布式爬虫 

项目练习:

  第一篇:基于bootstrap搭建静态网站

  第二篇:基于bootstrap MySQL搭建动态网站

  第三篇:基于HTML,css,jQuery,JavaScript,MySQL搭建博客系统

  第四篇:基于django做权限控制

  第五篇:基于django做增删改查组件,分页器组件

  第五篇:为公司做crm资产管理

询问笔记,对Python的Django框架中的项目进展单元测试的诀要。  第六篇:基于flask做权限控制

  第七篇:爬虫项目

  第八篇:路飞学成搭建  

  。。。。。。。

源码剖析:

  第一篇:flask

  第二篇:django

金融与算法:

  第一篇:金融介绍

  第二篇:量化投资与python

  第三篇:ipython基础认识

  第四篇:numpy数组运算,事例代码

  第五篇:pandas数据分析,事例代码

  第六篇:matplotlib绘图可视化,事例代码

  第七篇:金融分析实例(了解)

  第八篇;算法基础(理论),实例代码

  第九篇:排序lowB三人组,示例代码

  第十篇:NB三人组,示例代码

  第十一篇:其它(了解)

  第十二篇:数据结构与设计模式

 

  

   

    

本文由澳门新浦京娱乐场网站发布于www.146.net,转载请注明出处:询问笔记,对Python的Django框架中的项目进展单元