1. 数据校验:如果接受从浏览器中用户输入传递过来的数据,则需要进行校验,校验规则
- 判断如果为false,直接return 结束程序,并返回,一层层校验,直到都为true,就是使用这种办法,判断为false直接返回
- 如果判断的表达式中有异常,需要异常捕获,进行处理
-
try: page = int(page) except Exception as e: page = 1 if page > paginator.num_pages: page = 1
异常可以拿来当作if语句来判断
那么什么时候用 if语句 什么时候用 try except语句呢?
答:当结果为逻辑True 或False时,yong if 语句
当结果有异常时,用try except 语句,
当然二者可以结合使用
2. 装饰器心得:
login_required 装饰器可以直接将要装饰的函数当作参数传入,然后调用执行login_required(UserInfoView.as_view())闭包装饰器可以混用,装饰器既可以@装饰函数,也可以直接调用,简单来说装饰器的作用:就是对方法的增加,原理就是通过C语言底层的指针实现,也就是python的引用
3. render与redirect的选择问题
如果返回应答中不用传入任何数据给浏览器时,直接使用redirect跳转,否则使用render
4. redis使用心得
celery中使用redis,实现了跨平台共享变量,历史浏览记录以及购物车中使用redis,实现了跨模块共享变量