第11章 简单的表单
简化视图
如果发现视图很复杂,要编写很多测试,这时候就应该考虑是否能把逻辑移到其他地方。可以移到表单中,就像本章中的做法一样。或者可以移到模型类的自定义方法中。如果应用本身就很复杂,可以把核心业务逻辑移到Django专属的文件之外,编写单独的类和函数
一个测试只测试一件事
如果一个测试中不止一个断言,你就要怀疑这么写是否合理。有时断言之间联系紧密,可以放在一起。不过第一次编写测试时往往都会测试很多表现,其实应该把他们分成多个测试。辅助函数有助于简化拆分后的测试。
第12章 高级表单
坑21:12.1.4中在添加数据库约束后,执行python3 manage.py makemigrations,会出现django.db.utils.OperationalError: unable to open database file的错误,因为我的新电脑并没有db.sqlite3这个文件,且manage.py无权限新增目录,导致无法打开这个文件
解决办法:参考Stackoverflow上面的解决办法,将基础设置改为如下设置,不在中间再加一层/database/文件夹。这样就没有权限的问题了。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#'NAME': os.path.join(BASE_DIR, '../database/db.sqlite3'),
}
}