csrf跨站请求伪造 中间件
正规网站的页面是由正规服务器返回过来的,钓鱼网站页面是由钓鱼服务器返回过来的
Django中内置了一个专门处理csrf问题的中间件
它主要做的操作:
1.在render返回页面的时候,往页面中塞入一个隐藏的
用法:我们在HTML页面中的form表单里写入 {% csrf_token %} 它里面就会生成一串随机字符串的input标签
2.当用post提交数据时,它会自动进行校验,如果校验未通过,就会拒绝此次请求。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
select_related 表之间进行join连表操作,一次性获取关联的数据
select_related主要针对一对一和多对一的
select_related使用SQL的join语句进行优化,减少了SQL的查询次数,提高性能
prefetch_related: 多表连接操作时速度会慢,使用其进行多次SQL查询在Python代码中实现连表操作
对于多对多字段和一对多字段,可以使用prefetch_related进行优化
分别查询每个表,然后用Python处理他们之间的关系
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
批量创建 插入数据:
1 obj=[models.Press(name='神州{}出版社'.format(i)) for i in range(100)]
2 models.Press.objects.bulk_create(obj,10)
print(request.get_full_path()) #获取当前请求的除IP端口外的全部路径
print(request.path_info) #获取当前请求的路径