当前位置: 首页 > news >正文

wordpress关停网站新建网站做优化

wordpress关停网站,新建网站做优化,遵化手机网站设计,做亚马逊跨境电商要多少投资视图函数 作用详解视图函数的特点视图类实际开发怎么用一个无意义的demo 作用 用于返回给前端数据详解 def list(request):"""1.普通的视图函数 request是HttpRequest 函数2.且必须用request.GET|request.POST 指定方法是什么方法3.返回值不能用 rest_framewor…

作用

用于返回给前端数据

详解

    def list(request):"""1.普通的视图函数 request是HttpRequest 函数2.且必须用request.GET|request.POST 指定方法是什么方法3.返回值不能用 rest_framework包下的Response 必须是:param request::return:"""assert isinstance(request, HttpRequest)page = request.GET.get("page", default=1)page_size = request.GET.get("page_size", default=10)objs = Student.objects.all()# 分页器实现分页paginator = Paginator(objs, page_size)  # 构建分页器current_page_objs = paginator.get_page(page).object_list  # 当前页的数据# 反序列化为jsondata_list = StudentSerializer(current_page_objs, many=True).datares = {"status_code": 200,"message": "分业查询成功","data": {'items': data_list}}return JsonResponse(res)

读者不需要看其他部分,只需要知道视图函数接收的是HttpRequest对象。
其属性有:
path:路径,不包含域名
method: 表示请求的方法,为str类型,值为POST, GET
encoding:数据的编码格式,默认utf-8
GET: 字典,包含get所有参数
POST:字典,POST所有参数
FILES:字典,上传文件的信息
COOKIES:字典 所有cookie对象
session:字典 表示会话
META: 字典,HTTP 头信息,比如agent,ip等
user:当前登录用户

视图函数的特点

视图函数,函数名称何以结合path达到词语达意的意思,比较灵活。比如函数名称为: list_stident(request)
则url中path(‘list/student’, list_stident)

视图类

视图类是封装了接收前端 [‘get’, ‘post’, ‘put’, ‘patch’, ‘delete’, ‘head’, ‘options’, ‘trace’] 方法支持的类,想要任何函数直接继承APIView 即可,这样子固定的路径下,该类自动识别前端请求类型,会自动找到对应的函数,比如前段发送POST请求,则会自动到你实现的POST中。

实际开发怎么用

一般是视图函数和视图类结合使用。视图类只提供最基本的:【POST 创建 , PUT修改, DELETE 删除 , GET 创建四个函数】至于其他的api则用视图函数达到 见路径知含义的效果。

一个无意义的demo

class StudentApi(APIView):"""1.get/put/post/delte 定义了基础视图2.静态函数定义了 其他的功能"""def get(self, request):queryset = Student.objects.all()data_list = StudentSerializer(queryset, many=True).datares = {"status_code": 200,"message": "查询成功","data": {'items': data_list,'total': len(data_list)}}return Response(res)# 创建->仅仅传入data参数def post(self, request):with transaction.atomic():serializer = StudentSerializer(data=request.data)if serializer.is_valid(raise_exception=True):# save 中做了校验如果存在则更新  否则则是创建instance = serializer.save()res = {"status_code": 200,"message": "创建成功","data": {'id': instance.id}}return Response(res)# 更新要同时传入  instance 和datadef put(self, request):with transaction.atomic():res_body = {"code": 200,"msg": "更新成功","data": {}}try:obj = Student.objects.get(id=request.data['id'])serializer = StudentSerializer(instance=obj, data=request.data)if serializer.is_valid(raise_exception=True):instance = serializer.save()res_body["data"]["obj"] = model_to_dict(instance)except Exception as e:print(e)res_body["msg"] = "更新失败:%s" % ereturn Response(res_body)def delete(self, request):assert isinstance(request, Request)params = request.query_paramsres_body = {"code": 200,"msg": "删除","data": {}}try:obj = Student.objects.get(id=params["id"])obj.delete()res_body["data"]["obj"] = model_to_dict(obj)except Exception as e:res_body["msg"] = "删除失败:%s" % ereturn Response(res_body)def list(request):"""1.普通的视图函数 request是HttpRequest 函数2.且必须用request.GET|request.POST 指定方法是什么方法3.返回值不能用 rest_framework包下的Response 必须是:param request::return:"""assert isinstance(request, HttpRequest)page = request.GET.get("page", default=1)page_size = request.GET.get("page_size", default=10)objs = Student.objects.all()# 分页器实现分页paginator = Paginator(objs, page_size)  # 构建分页器current_page_objs = paginator.get_page(page).object_list  # 当前页的数据# 反序列化为jsondata_list = StudentSerializer(current_page_objs, many=True).datares = {"status_code": 200,"message": "分业查询成功","data": {'items': data_list}}return JsonResponse(res)路由定义为:
urlpatterns = [url(r'^student$', app_view.StudentApi.as_view()),//基本增删改查url('^student/list$', app_view.StudentApi.list)  //见path知含义
]
http://www.yayakq.cn/news/525063/

相关文章:

  • 青岛做网站要多少钱做的网站 为什么百度搜不到
  • 学技能的免费网站温州市住房建设局网站
  • 现在做网站有前途吗多语种网站建设公司
  • 网站设置域名电子商务做网站实训体会
  • 网站内容策划方案wordpress+播放列表
  • 中国网站服务器哪个好南京十大广告公司
  • 重庆装修网站建设设计动漫的软件
  • 思淘网站建设网站举报官网
  • 南通高端网站建设开发中国城投建设集团有限公司网站
  • 如果自己建立网站平面设计适合女生学吗
  • 安庆做网站电话站长之家
  • 网站建设服务商网页设计在线培训班
  • 成都建设项目环境影响登记网站域名注册以后怎样做网站
  • 域名注册空间网站建设网站技术人员先进事迹
  • 上海网站优化排名公司wordpress导入文件
  • 建设工程信息查询哪个网站好个人博客手机网站模板
  • 网站维护包括哪些内容专业的高密做网站的
  • as3.0网站制作教程旧域名新网站
  • 网站上的视频直播是怎么做的呢免费广告投放网站
  • 网页设计与制作教程素材百家号seo
  • 花钱做网站要多少钱网站开发结语
  • 个人网站有自己服务器是不是就不需要虚拟主机wordpress公式编辑器
  • 做视频大赛推广的网站做网站 域名 网站 空间
  • 网站开发技术包括中国电信软件开发工程师待遇
  • asp网站后台密码破解国外做的比较好的网站有哪些
  • 福建省建设人才与科技发展中心网站首页ps怎样做网站设计
  • 高端网站建设 司法关于文化的网站模板
  • 有没有免费建站幼教机构网站开发设计论文
  • 沃尔玛的网站建设永康网站建设服务
  • 重庆网站建设 狐灵科技wordpress 修改代码