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

晋城市企业网站自己怎么做网站优化

晋城市企业网站,自己怎么做网站优化,自贡做网站公司,企业搜索引擎优化一、视图集和路由器 REST框架包含了一个处理视图集的抽象,它允许开发人员集中精力建模API的状态和交互,并根据通用约定自动处理URL构造。 视图集类与视图类几乎相同,不同之处在于它们提供的是retrieve或update等操作,而不是get或…

一、视图集和路由器

REST框架包含了一个处理视图集的抽象,它允许开发人员集中精力建模API的状态和交互,并根据通用约定自动处理URL构造。

视图集类与视图类几乎相同,不同之处在于它们提供的是retrieveupdate等操作,而不是getput等方法。

一个ViewSet类只在最后一刻被实例化为一组视图时,绑定的一组方法处理程序,通常是通过使用一个Router类来处理定义URL conf的繁琐操作。

二、使用视图集重构

让我们获取当前的视图,并将它们重构为视图集。

首先,让我们将我们的StudentListStudentDetail视图重构为一个StudentViewSet。我们可以删除这两个视图,并用一个类替换它们:

class StudentViewSet(viewsets.ModelViewSet):"""This viewset automatically provides `list`, `create`, `retrieve`,`update` and `destroy` actions."""queryset = Student.objects.all()serializer_class = StudentSerializer

这里我们使用ModelViewSet类自动提供完整的默认读和写操作集。我们仍然设置querysetserializer_class属性,与使用常规视图时完全相同,但不再需要向两个单独的类提供相同的信息。

三、显式地将视图集绑定到url

 只有当我们定义URLConf时,处理程序方法才会绑定到对应的动作上。为了了解内部发生了什么,让我们首先从视图集中显式地创建一组视图。在crm/urls.py文件中,我们将ViewSet类绑定到一组具体的视图中。

from crm.views import StudentViewSet
from rest_framework import renderersstudent_list = StudentViewSet.as_view({'get': 'list','post': 'create'
})
student_detail = StudentViewSet.as_view({'get': 'retrieve','put': 'update','patch': 'partial_update','delete': 'destroy'
})

注意我们是如何从每个ViewSet类创建多个视图的,并为每个视图绑定所需要的http方法。

现在我们已经将资源绑定到具体的视图中,我们可以像往常一样用URL conf注册视图。

urlpatterns = format_suffix_patterns([path('students/', project_list, name='student-list'),path('students/<int:pk>/', project_detail, name='student-detail'),
])

四、使用Routers

因为我们使用的是ViewSet类而不是View类,我们实际上不需要自己设计URL conf。使用路由器类,可以自动处理将资源连接到视图和绑定url。我们所需要做的就是注册合适的视图集给路由器,然后让它完成剩下的工作。

这是我们重新连接的crm/urls.py文件。

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from projects import views# Create a router and register our viewsets with it.
router = DefaultRouter()
router.register(r'students', views.StudentViewSet)# The API URLs are now determined automatically by the router.
urlpatterns = [path('', include(router.urls)),
]

向路由器注册视图集类似于提供urlpattern。我们包含两个参数——视图的URL前缀和视图集本身。

我们正在使用的DefaultRouter类也会自动为我们创建API根视图。

五、视图与视图集之间的取舍

使用视图集是一种非常有用的抽象。它有助于确保你的API的URL约定的一致性,最小化你需要编写的代码量,并且允许你专注于你的API的交互和表示,而不是URL conf的细节。

这并不意味着它总是正确的方法。在使用基于类的视图而不是基于函数的视图时,也需要考虑类似的权衡。与单独构建视图相比,使用视图集不那么显式。

http://www.hkea.cn/news/307125/

相关文章:

  • 网站优化的分析比较好的品牌策划公司有哪些
  • 国外比较好的资源网站电商运营推广是做什么的
  • 佛山房地产网站建设seo实战培训王乃用
  • 如何做可以赚钱的网站关键词如何快速排名
  • 深圳品牌做网站公司有哪些百度app推广
  • 重庆建设行业信息网站搜狗登录入口
  • 同仁行业网站建设报价北京做的好的seo公司
  • 陕西自助建站做网站郑州外语网站建站优化
  • 小型企业网站系统cilimao磁力猫最新版地址
  • 铁岭网站建设移动网站广东网站seo
  • 网站模板插件sem和seo
  • 用wordpress制作网站模板沈阳seo
  • 优化一个网站多少钱宜昌网站seo
  • 刚做的网站怎么才能搜索到枸橼酸西地那非片功效效及作用
  • 罗湖区网站公司专业模板建站
  • 哪有备案好的网站国产系统2345
  • 网站开发怎么让别人看到最新营销模式有哪些
  • ssm网站开发源码百度推广多少钱一个月
  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销
  • 北京手机网站建设公司排名技术优化seo
  • wordpress可爱的主题seo优化教程
  • 自己可以申请网站做外卖吗网站描述和关键词怎么写
  • 公司网站网页设计seo站长工具推广平台
  • 重庆南岸营销型网站建设公司哪家专业真实的网站制作