- Django session的一些注意点以及python 3.0一些变化的注意点
- 不要用一个新对象来替换request.session,也不要存取其属性。可以像python中的字典那样使用:
- request.session=some_other_object#donot do this
- request.session.foo='bar' #do not do this
- 错误:
- ImportError:settings cannot be imported,beacuse env variable DJANGO_SETTINGS_MODULE
- is undefined
- 解决方案:
- from django.conf import settings
- settings.configure()
- 在{% ifequal %}中,例如python的字典类型,列表类型,布尔类型不能用在上面
- 在python 3.x中,except子句会被写作except(ZeroDivisionError,TypeError)as e
- translate 方法与replace 方法一样,但是translate方法只处理单个字符
- 优势在于可以同时处理进行多个替换
- 在使用translate转换前,需要先完成一张转换表,可以使用string中的
- maketrans函数就可以了。
- 关于middleware的一些注意点:
- 关于中间键出现的顺序,在request和view的处理阶段,Django按照MIDDLEWARE_CLASSES中
- 出现的顺序来应用中间件,而在response和异常处理阶段,Django按照逆序来调用它们,也就是说,
- Django将MIDDLEWARE_CLASSES视为view函数外层的顺序包装,在request阶段按顺序从上到下穿过,而在response
反过来