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

做有搜索功能的网站wordpress会员

做有搜索功能的网站,wordpress会员,白度,网站入口首页Django的FBV和CBV 基于django开发项目时,对于视图可以使用 FBV 和 CBV 两种模式编写。 FBV,function base views,其实就是编写函数来处理业务请求。 from django.contrib import admin from django.urls import path from app01 import view…

Django的FBV和CBV

基于django开发项目时,对于视图可以使用 FBV 和 CBV 两种模式编写。

  • FBV,function base views,其实就是编写函数来处理业务请求。

    from django.contrib import admin
    from django.urls import path
    from app01 import views
    urlpatterns = [path('users/', views.users),
    ]
    
    from django.http import JsonResponsedef users(request,*args, **kwargs):if request.method == "GET":return JsonResponse({"code":1000,"data":"xxx"})elif request.method == 'POST':return JsonResponse({"code":1000,"data":"xxx"})...
    
  • CBV,class base views,其实就是编写类来处理业务请求。

    from django.contrib import admin
    from django.urls import path
    from app01 import views
    urlpatterns = [path('users/', views.UserView.as_view()),
    ]
    
    from django.views import Viewclass UserView(View):def get(self, request, *args, **kwargs):return JsonResponse({"code": 1000, "data": "xxx"})def post(self, request, *args, **kwargs):return JsonResponse({"code": 1000, "data": "xxx"})
    

其实,CBV和FBV的底层实现本质上相同的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BRYWjXoN-1691020686220)(assets/image-20210819114755157.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uTin1A4e-1691020686221)(assets/image-20210819115517407.png)]

CBV,其实就是在FBV的基础上进行的功能的扩展,根据请求的方式不同,直接定位到不同的函数中去执行。

如果是基于django编写restful API,很显然使用CBV的方式会更加简洁,因为restful规范中就是根据method不同来执行不同操作。

基于django的CBV和restful规范开发实战案例:

# urls.pyfrom django.urls import path
from app01 import viewsurlpatterns = [# http://www.xxx.com/api/v1/users/path('api/<str:version>/users/', views.UserView.as_view()),# http://www.xxx.com/api/v1/users/2/path('api/<str:version>/users/<int:pk>/', views.UserView.as_view()),]
# views.pyfrom django.views import View
from django.http import JsonResponseclass UserView(View):def get(self, request, version, pk=None):if not pk:# 请求用户列表info = {"code": 0,"data": [{"id": 1, "name": "武沛齐"},{"id": 1, "name": "武沛齐"},]}return JsonResponse(info)else:# 获取ID=pk的用户信息,并返回info = {"code": 0,"data": {"id": 1, "name": "武沛齐"}}return JsonResponse(info)def post(self, request, version):# 新增用户,读取 request.POST 中提交的数据并添加到数据库中info = {"code": 0,"data": {"id": 1, "name": "武沛齐"}}return JsonResponse(info)def delete(self, request, version, pk):# 删除id=pk的用户info = {"code": 0,"data": {}}return JsonResponse(info)def put(self, request, version, pk):# 读取request.POST中的数据 + pk,更新数据库中的用户信息info = {"code": 0,"data": {"id": 1, "name": "武沛齐"}}return JsonResponse(info)def patch(self, request, version, pk):# 读取request.POST中的数据 + pk,更新数据库中的用户信息info = {"code": 0,"data": {"id": 1, "name": "武沛齐"}}return JsonResponse(info)

从上面的示例看来,基于django框架完全可以开发restful API。

django restframework框架 是在django的基础上又给我们提供了很多方便的功能,让我们可以更便捷基于django开发restful API,来一个简单的实例,快速了解下:

  • 基于django

  • 基于django + django restframework框架

http://www.yayakq.cn/news/853360/

相关文章:

  • 中国建设工程招聘信息网站广州企业建站模板
  • 曲阳路街道网站建设dw做网站详细教程
  • 徐州网站建设工作室网站可以个人备案吗
  • 百度商桥网站爱站网 关键词挖掘工具
  • 九江市广安建设工程有限公司网站网站开启伪静态
  • 个人电脑建立网站会中铁建设集团门户网官网
  • 做直播 网站的上市公司企业网站建设联系方式
  • 塘下网站建设云畅网站建设后台
  • 企业做网站天津成都十大设计工作室
  • 如何快速提升网站流量网站群维护方案
  • 苏州工程网站建设玉溪建设局门户网站
  • 保定市网站制作wordpress html5插件
  • 手机排名哪个网站最权威wordpress下载管理插件
  • 长春火车站咨询电话wordpress4.5 ueditor 1.4.3
  • 手机建立网站application百度的推广广告
  • 做彩票网站是违法的吗wordpress百度采集采集器
  • 网站建设人员架构中国建设手机银行app下载
  • 网站设计怎么做链接wap网站开发平台
  • 做家教在哪个网站查找全国免费网站建设
  • 做装修效果图的网站有哪些软件网页源代码看答案
  • 网站设计首页动态效果怎么做网站菜单分类怎么做
  • 做木工的网站电商网站设计思想
  • 长沙手机app网站开发wordpress怎么自己写代码
  • 医院网站前置审批文件dw如何用表格做网站
  • 网站开发用什么软件长沙网红小吃
  • 淄博网站seowordpress 空间不足
  • 沈阳做网站公司wordpress 百度百家
  • 做夏促的网站有哪些正在为您跳转中
  • wordpress暂停网站网站关键词如何优化上首页
  • 网站姐姐做床戏网站24小时资源视频在线观看