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
模块,能够很有益地拓展测试,实际情况能够文章最终的链接,看官方网站文书档案的详尽介绍。
下边是2个简单易行的以身作则:
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.二除以三 格外 1.四千000000000001 不等于期望值 一.4
玖除以4等于二,不对等期望的 二.25
上边我们正是要修复那个主题素材,再一次运行测试,直到运维不报错甘休。
譬如说依据实际境况,假诺我们只要求保留到小数点后七个人,可以这么改:
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
肆th》中,柒.二节,最后落到实处的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不能为空;
-
price必须高于零;
-
image_url必须以jpg,png,jpg结尾,并且对大小写不灵敏;
-
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:184491251四
您只怕感兴趣的篇章:
- 动用Python的Django框架结合jQuery落成AJAX购物车页面
- Python的Django REST框架中的系列化及请求和重临
- 详解Python的Django框架中的templates设置
- Python使用django获取用户IP地址的点子
- 剖析Python的Django框架的运作格局及处理流程
- Django一.七+python 二.7八+pycharm配置mysql数据库教程
- python常用web框架轻易品质测试结果分享(包罗django、flask、bottle、tornado)
- python django集成cas验证系统
- 教你哪些将 Sublime 三 创设成 Python/Django IDE开拓利器
- 详解Python的Django框架中manage命令的应用与庞大
Python中的单元测试 我们先来回想一下Python中的单元测试方法。 上边是一个Py…
http://www.xuliangwei.com/ http://www.nnzhp.cn
cmdb
第1周
cmdb
开始拍片介绍
python发展介绍
第一个python程序
变量
字符编码与二进制
字符编码的差异与介绍
用户交互程序
if else流程决断
while 循环
while 循环优化版本
for 循环及作业要求
cmdb
第2周
本节鸡汤
模块初识
pyc是什么
python数据类型
bytes数据类型
列表的施用
元组与购物车程序练习
购物车程序演习实例
字符串常用操作
字典的运用
三级菜单实例
本周学业-购物车优化
第3周
作业
上节内容回想
汇集及其运算
文本读与写详解
心灵鸡汤
文件修改详解
字符编码调换详解
函数与函数式编制程序
函数式编制程序之参数详解
1些变量与全局变量效率域
递归
函数式编制程序与函数分裂
高阶函数
第4周
上节内容回想
心灵鸡汤
装饰器详解
装饰器应用详解
装饰器之函数即变量
装饰器之高阶函数
装饰器之嵌套函数
装饰器之案例剖析
装饰器之高潮讲明
迭代器与生成器
迭代器与生成器并行
放置方法详解
Json与pickle数据体系化
软件目录结构正式
本周功课
-
第一篇:初识Python -
其次篇:python基础之宗旨风格 -
其3篇:python基础之数据类型与变量 -
第陆篇:python基础之规范和巡回 -
第5篇:python基础之字符编码
-
py编码终极版
苑昊先生
第5周
Py西游攻关之函数
苑昊先生
快人快语享受
ATM存钱取钱案例剖析
模块定义、导入、优化详解
嵌入模块详解之time与datetime模块
停放模块详解之Range模块
置于模块详解之OS模块
松手模块详解之Sys模块
嵌入模块详解之Shelve模块
停放模块详解之Xml模块
放到模块详解之Configparser模块
内置模块详解之Hashlib、Hmac模块
正则表明式Re模块使用详解
Py西游攻关之装饰器 苑昊先生
第6周
Py西游攻关之IOmodel 苑昊先生
本节小鸡汤(电影分享)
面向对象介绍
面向对象天性介绍
实例演示opp编制程序好处
实例变量与类变量
类变量的机能及析构函数
类的延续
卓绝类与新式类的持续顺序
持续实例批注
多态实例批注
本节功课之选课系统开拓
-
第六篇:python基础之文件处理 -
第10篇
python基础之函数,递归,内置函数 -
第9篇
迭代器协议和生成器 -
第九篇
装饰器 -
第8篇
面向对象的次序设计 -
第71篇
面向对象进阶 -
第7贰篇
非常处理 -
第九三篇
python基础之socket编制程序 -
常用模块 -
模块与包 -
进度与线程
第7周
17_1
经过与线程理论基础
心灵享受
上节追思
静态方法、类方式、属性方法
课堂扯淡
深深讲授类的特种成员方法__init__等
长远批注类的分外规成员方法__new__等
反射详解
十三分处理TryExcept
网络编制程序Socket介绍
Socket通讯案例消息发送与吸收接纳
17_2
Cpython解释器援助的进度与线程
第8周
-
函数草稿
上节回首
Socket完成简单的ssh客户端
Socket达成简单的ssh服务端
积极思索正能量
Socket实现轻松的ssh二
Socket粘包
Socket粘包深切编码
SocketServer
SocketServer多并发
多用户在线Ftp程序
18_1
selenium模块
第9周
-
常用模块 -
Py西游攻关之模块 -
三十二线程与多进度 -
Py西游攻关之RabbitMQ、Memcache、Redis -
前端基础之html -
前者基础之CSS -
澳门网上正规赌场网址, JavaScript
基础学习1 -
前者学习之jquery
上节回看
paramiko模块详解
ssh密钥解说
进度与线程
多线程
四线程案例
主线程与子线程
线程锁
线程之非功率信号量
线程之Event
队列Queue
作业之主机批量管制
26_1.
Django-ajax
第10周
jQuery
眼尖享受
上节想起
多进程
多进程Queue
多进程Pipes与Manager
经过锁与经过池详解
协程
协程Gevent
协程之爬虫
协程之Socket
IO多路复用
IO模式
Select解析Socket通信
作业
jQuery网址
第11周
-
Python开荒【第97篇】:MySQL(一) -
Python开辟【第十8篇】:MySQL(二) -
Python开垦【第79篇】:Python操作MySQL
鸡汤
消息队列介绍
RabbitMQ基本示例
RabbitMQ消息分发轮询
RabbitMQ消息持久化
RabbitMQ fanout广播情势
RabbitMQ direct广播方式
RabbitMQ topic细致的新闻过滤广播形式
Redis string操作
RabbitMQ rpc实现
Redis hash操作
Redis 集合set 和有序聚集操作
Redis 集合操作补充
Redis 发布订阅及本节作业
目录补充
第12周
-
数据库基础 -
数据库进阶 -
MySQL练习题 -
MySQL练习题参考答案 -
Python之路【第8陆篇】:Django【基础篇】 -
Python之路【第九7篇】:Django【进阶篇
】
上节回看
数据库介绍
mysql基本选择
mysql数据类型与创设表
mysql 增删改查
mysql 外键关联
mysql 连接查询
mysql 事务与索引
mysql python交互
sqlalchemy orm介绍
sqlalchemy 常用语法
sqlalchemy 外键关联
sqlalchemy 多外键关联
sqlalchemy 多对多涉及
作业之学员管理种类开荒
35_1.
Django之Model操作
第13周
35-2 s10期Tornao分享
碉堡机框架开荒介绍
碉堡机源码批注
碉堡机项目表结构划设想计与贯彻
自行创造表对象
权限分组与数码开头化
35-3
Django知识点整理
第14周
35-4
Django之Form组件
开战介绍
前者技巧概要
前几日内容大约
Html本质以及在web程序中的功能
html的head内标签
html的body内标签之Logo、换行及其余
chrome查看html样式基本操作
html的body内标签之input种类
html的body内标签之多行文本及下来框
html的body内标签之超链接
html的body内标签之图片及表格
html的body内标签之表格
html的body内标签之田野set标签和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类别化及转义
开小差之自动登6抽屉并点赞
eval以及时光操作
JavaScript作用域
JavaScript面向对象及原型
Dom选用器以及内容文本操作
Dom样式操作
Dom属性及创设标签
Dom提交表单及此外
Dom事件操作
Dom事件操作补充
Dom绑按期间的此外一种方法
JavaScript 词法分析分析
前者学习方法分享
Sublime Text工具使用介绍
谢幕
第17周
-
Python之路【第九篇】:Python操作
RabbitMQ、Redis、Memcache、SQLAlchemy -
Python开采【第玖6篇】:AJAX全套
前日内容大致
jQuery 和Dom关系及jQuery版本
jQuery选择器
实例多选反选拔消
删选器以及Tab菜单示例
示范:模态编程框
jQuery 样式以及质量操作
示范:TAB切换菜单
jQuery内容操作
点赞以及jQuery css操作
JQuery中度以及职位操作
JQuery 事件绑定的法子
JQuery事件之协会事件的发生
演示:表单验证
JQuery事件之页面框架和加载后活动实行
JQuery扩充以及自动执行函数的应用
JQuery阻止事件时有发生
JQuery扩展
作业
37_1
KindEditor
第18周
-
Python开荒【第七5篇】:Web框架之Tornado
内容大约
JS正则详解
JS正则详解之验证
组件BootStrap、EasyUI、JQueryUI
插件轮播
Django_Web框架引进
Django工程创立
Django目录详解
Django创建App
Django的Model使用
Django完结用户登6与前者交互
Django路由介绍
Django知识点整理
作业
39
python 之路,Day1二 –
redis缓存数据库
第19周
武沛齐tornado博客:
明天内容大约
任课内容差不离
今日Django工程的创制
Django获取八个数据以及文件上传
Django的CBV和FBV
Django模板语言循环字典
Django基高璇则表明式的U卡宴L
Django对应的路由名称
Django路由分发
DjangoOEscortM基本创立基本项目以及变化数据库结构
DjangoORM使用mysql注意
DjangoO奥迪Q7M基本增加和删除查该
依照O奥迪Q5M达成用户登六
听新闻说OLANDM达成用户扩展删除修改以及查看详细
Django字段类型介绍
DjangoOPAJEROM字段参数介绍
DjangoO途观M外键操作
听说DjangoO途乐M的外键完结增添用户(含select标签)
作业
Python之路【第9八篇】:Web框架们
第20周
首先篇:白话tornado源码之贰个剧本引发的命案
学科布置
教师内容回看
Django壹对多的创始
始建一对多表结构
赢得单表单数据的三种办法
一对多跨表操作
壹些多块表操作的的二种艺术
增添一对诸多据示例
初识Ajax
Ajax内容基本整理
编辑壹对多演示
创办多对多以及增添示范
本节内容梳理
本周功课
第一篇:白话tornado源码之待请求阶段
第21周
其3篇:白话tornado源码之请求来了
后天知识点概要
上节内容回想以及U奥迪Q伍L的互补
视图获取用户请求相关音讯以及呼吁头
模板之继续
模板之导入
上节学业意况
自定义 simple_tag
自定义filter
自定义分页
Cookie是何等鬼
依照Cookie达成用户登陆
依据cookie完结定制突显数据条数
带具名的Cookie
CBV和FBV用户认证装饰器
本周作业
第5篇:白话tornado源码之褪去模板外衣的前戏
第22周
第伍篇:白话tornado源码之褪去模板的外衣
上节想起
Django之url、Views
Django之Model操作
Django之模版
Django之Session
Django之Session与Cookie
Django之CSLX570F原理详解
Django之中间件详解
Django之缓存实例详解
Django之信号
Django之Form组件验证
作业
-
Python之路,Day14 – It’s time for
Django -
Python之路,Day一⑤ –
Django适当进阶篇
第23周
Py西游攻关之Django(一)
苑昊先生
长机管理项目必要分析
长机管理项目架构划设想计
主机管理项目始于塑造
长机管理项目编写制定插件基类
长机管理项目命令分发器
主机管理项目提取主机列表
主机管理项目提取yaml配置文件_
主机管理项目动态调用插件进行多少解析
主机管理项目对模块中的参数实行分析
-
Bootstrap框架(一) -
Bootstrap框架(二) -
Bootstrap框架(三) -
Django~1
第24周
Django基础(一)
本节题纲
上节内容回想
ModelForm操作及注解
ajax操作-原生ajax
ajax操作-JQuery的ajax
ajax操作-伪ajax(iframe)
ajax操作-时机选拔
文本上传(三种情势)-壹
文本上传-时机选用及预览-2
图形验证码
Kind艾德itor基本使用和文书操作
作业
-
Http协议 -
Python CMDB开发
第25周
46-1
CMDB开发
前几日内容大约
博客系统示范预览
组合搜索组件
JSONP跨域请求jQuery情势
JSONP跨域请求精神
XSS过滤以及单例方式
博客系统表结构批注
博客系统机能讲授
CMDB介绍
CMDB实现的三种办法
CMDB Agent客户端示例
-
CMDB源码使用须知
第26周
47_1
CMDB资金财产搜聚
今天内容差不多以及CMDB介绍
前端插件定制之表头
前端插件定制之表内容
第27周
前者插件定制之定制td内容以及质量
CMDB插件示例演示
算法介绍与列表查找
冒泡 采用 插入排序
快排
堆排序
47_2
Ali云api调用做轻便的cmdb
第28周
-
python
之路,Day27 –
主机管理+堡垒机系统开辟 -
Python之路,Day1二 –
那就做个壁垒机呢 -
Python之路,Day20 –
分布式监控体系开辟 -
Python之路,Day19 –
CMDB、CMDB、CMDB -
Python之路,Day1八 –
开辟二个WEB聊天来撩妹吧 -
Python之路,Day一七 –
分分钟做个BBS论坛
堆排序复习
归并排序 希尔排序
算法练习
栈和队列
数据结构其余 style=”font-size: 18px; color: #ff0000″>必要的关联本身,QQ:184491251四
style=”font-size: 18px; color: #ff0000″>
54.
[Django之路
花色实战之<教育行当C福特ExplorerM开采>]()
55.
爬虫
Q2Day81
55_1 爬虫
Q2Day79
python
s12 day2
http的请求和响应进程二
http的呼吁和响应进度三
python s12
day3
MongoDB学习笔记(一)MongoDB概述和装置
JavaScript、Dom、jQuery
Django验证码【附源码】
Django
REST framework
Django篇:
web框架本质
Django
安装使用基础
Django(贰)路由系统、视图、模板
Django(叁) O奥迪Q5M
数据库操作
Django(肆) OSportageM
外键操作及初识Ajax
Django(5)母版承继、Cookie、视图装饰器等
Django(六)Session、CSRF、中间件
Django(七)缓存、信号、Form
Django(八)上:Model操作和Form操作
Django(八)下:Model操作和Form操作、类别化操作
Django(九)上:ModelForm操作
Django(玖)下:Ajax操作、图片验证码、Kind艾德itor使用
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++ 玖.0 is required Unable to find
vcvarsall.bat的消除格局:
git
1.
2.