Django的视图类与动静分离
Django视图
在之前的学习当中,我们使用函数作为处理请求的视图,直接、明了。但是,django只给GET和POST提供了快速的请求数据接收的方法,对于其他方法没有详细的介绍,于是在后来引进了视图类的概念。
1,导入视图类的父类,编写视图,
class UserViewClass(View):
"""
视图类可用的方法
'get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'
想同时处理get和post请求以及put请求
"""
def get(self,request):
return HttpResponse("I am get view")
def post(self,request):
return HttpResponse("I am post view")
def put(self,request):
return HttpResponse("I am put view")
2,指出url
Django动静分离
动静分离就是将网站的动态数据和静态资源(html,javascript,css,img等文件)进行分开部署,提高用户访问静态资源的速度。在django的部署当中本身就有一部分资源被动静分离。在上节课对独立APP的静态文件收集就是为了做动静分离。还有没有完成的是html的静态化。
1、将js、jq、css、img上传到一个单独目录,然后用服务器指出,CDN服务器。
2、在网站开发过程当中,大量使用api接口,网站页面的数据是通过请求api接口然后进行渲染,而不是通过请求视图进行渲染,常用的技术 api接口开发、json数据格式、ajax请求、vue渲染。
3、前后端域名分离,要求有两台服务器。
优点:
① Api接口服务化,后端更加服务化,只需要通过api接口提供数据,多个功能模块或者多个平台都可以使用。
② 前后端并行开发,开发效率提高,互不干扰。
③ 减轻服务器压力
缺点
1、不利于seo,搜索引擎优化
2、开发量变大。后端针对每个数据都要有指定的接口
3、不好进行业务变更,开发初期,使用接口很快,但是后期api接口增多,管理api和进行业务变更变的很困难。