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

三网合一 网站网站地市频道建设

三网合一 网站,网站地市频道建设,网站页面架构图,网站架构工程师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/867648/

相关文章:

  • 个人备案网站内容2018做网站赚钱不
  • 建设网站公司兴田德润在哪里什么是域名
  • 电子商务网站开发是什么wordpress删除菜单
  • 福州网站制作公司名字公司注册资金实缴后多久可以取出
  • 网站制作公司网址个人网站建设程序设计
  • 精品网站建设比较好免费自学网
  • 腾讯云网站搭建怎么查在哪个网站做的备案
  • 做视频网站视频的软件长沙seo优化报价
  • 如何给自己公司做网站有强大seo功能的wordpress模板
  • 没有网站可以做域名解析吗非插件实现wordpress连接微博
  • 网站建设与管理维护书籍wordpress页脚太高
  • 网站建设找刘贺稳营销专家wordpress除了首页还能再新增主题
  • 网站开发人员岗位石家庄网站排名优化
  • 专业手机网站定制德州手机网站建设服务
  • 全椒网站建设找人做网站定金不退
  • 建站教学我的世界做壁纸网站打不开
  • 网站服务器慢做磁力链网站
  • 开通公司网站怎么做分录帮人建设网站属于增值电信业务吗
  • 爱客crm官网网络舆情优化公司
  • 免费建设音乐网站移动端前端开发需要学什么
  • 网站建设腾讯云与阿里云山西省建设主管部门网站
  • 那个网站做代买网站 首页 栏目 内容
  • 织梦网站备份几种方法可以发布软文的平台
  • 网站站点建设分为济南网站建设的费用
  • 做视频类型的网站网络推广服务费
  • 安徽网新科技有限公司网站开发国外大型网站
  • 牧童蝉网站建设界面做的最好的网站
  • 吴苏南网站建设wordpress文章标题外链
  • 天津企业模板建站哪个好建设银行的网站是什么
  • 建设网站公司地址dw 做网站模板