对Python的Django框架中的项目进展单元测量检验的

2019-10-12 20:04 来源:未知
  1.     Http协议

  2.          Python CMDB开发

您可能感兴趣的文章:

  • 使用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...

鸡汤

消息队列介绍

RabbitMQ基本示例

RabbitMQ消息分发轮询

RabbitMQ消息持久化

RabbitMQ fanout广播模式

RabbitMQ direct广播模式

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

Redis string操作

RabbitMQ rpc实现

Redis hash操作

Redis 集合set 和有序集合操作

Redis 集合操作补充

Redis 发布订阅及本节作业

35-7     Django之ModelForm组件

对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。

 

心灵分享

上节回顾

多进程

多进程Queue

多进程Pipes与Manager

进程锁与进程池详解

协程

协程Gevent

协程之爬虫

协程之Socket

IO多路复用

IO模式

Select解析Socket通信

作业

  1.   函数草稿

开课介绍

python发展介绍

第一个python程序

变量

字符编码与二进制

字符编码的区别与介绍

用户交互程序

if else流程判断

while 循环

while 循环优化版本

for 循环及作业要求

54.

第13周

第18周

35-3      Django知识点整理

第25周

26_1.       Django-ajax

上节回顾

Django之url、Views

Django之Model操作

Django之模版

Django之Session

Django之Session与Cookie

Django之CSRF原理详解

Django之中间件详解

Django之缓存实例详解

Django之信号

Django之Form组件验证

作业

  1.          CMDB源码使用须知

第10周

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

本节题纲

上节内容回顾

ModelForm操作及验证

ajax操作-原生ajax

ajax操作-JQuery的ajax

ajax操作-伪ajax(iframe)

ajax操作-时机选择

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

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

图片验证码

KindEditor基本使用和文件操作

作业

     [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.

 

上节回顾

数据库介绍

mysql基本使用

mysql数据类型与创建表

mysql 增删改查

mysql 外键关联

mysql 连接查询

mysql 事务与索引

mysql python交互

sqlalchemy orm介绍

sqlalchemy 常用语法

sqlalchemy 外键关联

sqlalchemy 多外键关联

sqlalchemy 多对多关联

作业之学员管理系统开发

37_1      KindEditor

第28周

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

第21周

18_1     selenium模块

 

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

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

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

  4.   第九篇 装饰器

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

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

  7.   第十二篇 异常处理

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

  9.   常用模块

  10.   模块与包

  11.   进程与线程

第5周

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

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

本节小鸡汤(电影分享)

面向对象介绍

面向对象特性介绍

实例演示opp编程好处

实例变量与类变量

类变量的作用及析构函数

类的继承

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

继承实例讲解

多态实例讲解

本节作业之选课系统开发

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

课程安排

上课内容回顾

Django一对多的创建

创建一对多表结构

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

一对多跨表操作

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

增加一对多数据示例

初识Ajax

Ajax内容基本整理

编辑一对多示例

创建多对多以及增加示例

本节内容梳理

本周作业

需要的联系我,QQ:1844912514

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

堆排序复习

归并排序 希尔排序

算法练习

栈和队列

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

style="font-size: 18px; color: #ff0000">彩民之家论坛9066777 1彩民之家论坛9066777 2彩民之家论坛9066777 3彩民之家论坛9066777 4

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

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

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

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

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

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

第24周

       jQuery网址

上节回顾

paramiko模块详解

ssh密钥讲解

进程与线程

多线程

多线程案例

主线程与子线程

线程锁

线程之信号量

线程之Event

队列Queue

作业之主机批量管理

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

内容概要

JS正则详解

JS正则详解之验证

组件BootStrap、EasyUI、JQueryUI

插件轮播

Django_Web框架引入

Django工程创建

Django目录详解

Django创建App

Django的Model使用

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

Django路由介绍

Django知识点整理

作业

35-4       Django之Form组件

第26周

  1.     Bootstrap框架(一)

  2.     Bootstrap框架(二)

  3.     Bootstrap框架(三)

  4.     Django~1

上节回顾

Socket实现简单的ssh客户端

Socket实现简单的ssh服务端

积极思考正能量

Socket实现简单的ssh2

Socket粘包

Socket粘包深入编码

SocketServer

SocketServer多并发

多用户在线Ftp程序

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

本节鸡汤

模块初识

pyc是什么

python数据类型

bytes数据类型

列表的使用

元组与购物车程序练习

购物车程序练习实例

字符串常用操作

字典的使用

三级菜单实例

本周作业-购物车优化

   jQuery

今日内容概要

博客系统示例预览

组合搜索组件

JSONP跨域请求jQuery方式

JSONP跨域请求本质

XSS过滤以及单例模式

博客系统表结构讲解

博客系统功能讲解

CMDB介绍

CMDB实现的三种方式

CMDB Agent客户端示例

46-1         CMDB开发

第9周

  1.     数据库基础

  2.     数据库进阶

  3.         MySQL练习题

  4.                 MySQL练习题参考答案

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

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

今日内容概要以及CMDB介绍

前端插件定制之表头

前端插件定制之表内容

第27周

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

CMDB插件示例演示

算法介绍与列表查找

冒泡 选择 插入排序

快排

堆排序

    cmdb

第19周

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

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

第4周

35-5         python s12 day13 JavaScript、Dom和jQuery

第3周

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

作业

上节内容回顾

集合及其运算

文件读与写详解

心灵鸡汤

文件修改详解

字符编码转换详解

函数与函数式编程

函数式编程之参数详解

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

递归

函数式编程与函数不同

高阶函数

35_1.     Django之Model操作

第8周

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

今日内容概要

上课内容概要

今日Django工程的创建

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

Django的CBV和FBV

Django模板语言循环字典

Django基于正则表达式的URL

Django对应的路由名称

Django路由分发

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

DjangoORM使用mysql注意

DjangoORM基本增删查该

基于ORM实现用户登录

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

Django字段类型介绍

DjangoORM字段参数介绍

DjangoORM外键操作

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

作业

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

第22周

 

 

      Django基础(一)

今日内容概要

jQuery 和Dom关系及jQuery版本

jQuery选择器

实例多选反选取消

删选器以及Tab菜单示例

示例:模态编程框

jQuery 样式以及属性操作

示例:TAB切换菜单

jQuery内容操作

点赞以及jQuery css操作

JQuery高度以及位置操作

JQuery 事件绑定的方式

JQuery事件之组织事件的发生

示例:表单验证

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

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

JQuery阻止事件发生

JQuery扩展

作业

    cmdb

心灵分享

ATM存钱取钱案例剖析

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

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

内置模块详解之Range模块

内置模块详解之OS模块

内置模块详解之Sys模块

内置模块详解之Shelve模块

内置模块详解之Xml模块

内置模块详解之Configparser模块

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

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

  1.   常用模块

  2.   Py西游攻关之模块

  3.    多线程与多进程

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

  5.   前端基础之html

  6.     前端基础之CSS

  7.     JavaScript 基础学习1

  8.     前端学习之jquery

第6周

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

第20周

  cmdb

主机管理项目需求分析

主机管理项目架构设计

主机管理项目初始构建

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

主机管理项目命令分发器

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

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

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

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

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

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

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

上节内容答疑

上节内容回顾

CSS内容补充之position

CSS内容补充之overflow

CSS内容之hover

CSS内容之background

初始javaScript

javascript代码存在形式

javascript基本预览

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

javascript数组和字典以及for循环

javascript条件语句

javascript函数的定义

Dom直接选择器

Dom间接选择器

示例之模态对话框

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

javascript必须加分号

示例之后台管理左侧菜单

今日内容梳理

本周作业

第11周

第2周

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

第7周

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

上节内容回顾

心灵鸡汤

装饰器详解

装饰器应用详解

装饰器之函数即变量

装饰器之高阶函数

装饰器之嵌套函数

装饰器之案例剖析

装饰器之高潮讲解

迭代器与生成器

迭代器与生成器并行

内置方法详解

Json与pickle数据序列化

软件目录结构规范

本周作业

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

心灵分享

上节回顾

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

课堂扯淡

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

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

反射详解

异常处理TryExcept

网络编程Socket介绍

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

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

开课介绍

前端技术概要

今日内容概要

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之内外边距

本周作业以及思路

  1.     第一篇:初识Python

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

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

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

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

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

第16周

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

第15周

47_1        CMDB资产采集

今日知识点概要

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

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

模板之继承

模板之导入

上节作业情况

自定义 simple_tag

自定义filter

自定义分页

Cookie是什么鬼

基于Cookie实现用户登录

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

带签名的Cookie

CBV和FBV用户认证装饰器

本周作业

       索引补充

第1周

35-6         Python生成随机验证码

上节作业问题答疑

今日内容计划

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

后台管理页面布局

JavaScript内容回顾

JavaScript函数

JavaScript序列化及转义

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

eval以及时间操作

JavaScript作用域

JavaScript面向对象及原型

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

Dom样式操作

Dom属性及创建标签

Dom提交表单及其他

Dom事件操作

Dom事件操作补充

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

JavaScript 词法分析解析

前端学习方法分享

Sublime Text工具使用介绍

谢幕

第17周

第14周

17_1    进程与线程理论基础

第12周

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

堡垒机框架开发介绍

堡垒机源码讲解

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

自动创建表对象

权限分组与数据初始化

35-2   s10期Tornao分享

第23周

武沛齐tornado博客:

 bootstrap cdn在线地址

TAG标签:
版权声明:本文由彩民之家高手论坛发布于编程技术,转载请注明出处:对Python的Django框架中的项目进展单元测量检验的