1.F 和 Q 的作用?
F查询主要用来获取原数据进行计算,对象个常数之间的加减乘除和取模的操作
例如:
读goods表中每件商品在原价格的基础上增加10元
GOODS.objects.update(price=F('price')+10)
Q查询主要用来复杂查询
Q(条件1)|Q(条件2)或
Q(条件1)&Q(条件2)与
Q(条件1)&~(条件2) 非
例如:
查询id等于3或者标题是go的书
BOOK.objects.filter(Q(id=3)|Q(title='go'))[0]
2.django 中csrf的实现机制?
(1).在用户访问时,django反馈给用户的表单中有一个隐含字段csrftoken
这个值是在服务器端随机产生的,每一次提交表单都会产生不同的值
(2).服务器校验这个表单的csrftoken是否和自己保存的一致,来判断用户的合法性
(3).当用户被csrf攻击,从其他站点发送精心编制的攻击请求时,
由于其他站点不可能知道隐藏的csrftoken字段的信息,
这样从服务器就会校验失败,攻击被成功防御
具体配置如下:
在template中添加{%csrf_token%}标签
3.为什么要使用django rest framework框架?
在编写接口时可以使用也可以不使用
不使用:也可以用django的CBV来实现,开发者编写的代码会更多一些
使用:内部帮助我们提供了很多方便的组件,我们通过配置就能完成相应的操作
'序列化'可以做用户请求数据校验+queryset对象的序列化成为json
'解析器'获得用户请求数据request.data 会自动根据content-type请求头的不能对
数据进行解析
'分页'将从数据库获得到的数据页面进行分页显示
还有其他组件
'认证' '权限' '访问平率控制'
4.为什么要使用django rest framework框架?
在编写接口时可以使用也可以不使用
不使用:也可以用django的CBV来实现,开发者编写的代码会更多一些
使用:内部帮助我们提供了很多方便的组件,我们通过配置就能完成相应的操作
'序列化'可以做用户请求数据校验+queryset对象的序列化成为json
'解析器'获得用户请求数据request.data 会自动根据content-type请求头的不能对
数据进行解析
'分页'将从数据库获得到的数据页面进行分页显示
还有其他组件
'认证' '权限' '访问平率控制'
5. Flask框架的优势?
Flask自由灵活可扩展性强,透明可控,第三方库选择面广
开发时可以结合最流行强大的Python库
Flask蓝图的作用?
blueprint把实现不同功能的module分开,也就是把一个大的App
分割成各自实现不同功能的module
在一个blueprint中可以调用另外一个blueprint的视图函数,但要加相应的blueprint名
Flask框架依赖组件?
依赖jinja2模板引擎
依赖wrkzurg协议
网友评论