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

网站域名注册信息百度pc端网页版

网站域名注册信息,百度pc端网页版,泉州教育平台网站建设,知名网站排行榜在restful规范中,后端的API中需要体现版本。如果项目比较大,需要些很多的视图类,在每一个类中都写一遍会比较麻烦,所以drf中也支持了全局配置。在每个版本处理的类中还定义了reverse方法,他是用来反向生成URL并携带相关…

在restful规范中,后端的API中需要体现版本。如果项目比较大,需要些很多的视图类,在每一个类中都写一遍会比较麻烦,所以drf中也支持了全局配置。在每个版本处理的类中还定义了`reverse`方法,他是用来反向生成URL并携带相关的的版本信息用的。

REST_FRAMEWORK = {"DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.QueryParameterVersioning",  # 处理版本的类的路径"VERSION_PARAM": "version",  # URL参数传参时的key,例如:xxxx?version=v1"ALLOWED_VERSIONS": ["v1", "v2", "v3"],  # 限制支持的版本,None表示无限制"DEFAULT_VERSION": "v1",  # 默认版本
}

一、基于GET传递参数

1、settings.py

REST_FRAMEWORK={"UNAUTHENTICATED_USER": None,"VERSION_PARAM":"version",  # 决定url中版本的参数值;不设置默认也是这个值,可以通过修改这里修改,例如改为"v";"DEFAULT_VERSION":"v1", # 默认版本"ALLOWED_VERSIONS":["v1","v2"] #支持的版本范围
}

2、urls.py

urlpatterns = [# path('admin/', admin.site.urls),path('home/', views.HomeView.as_view(),name="hh"),
]

3、views.py

from rest_framework.versioning import   QueryParameterVersioningclass HomeView(APIView):# 传递过程中可以携带版本信息# http://127.0.0.1:8000/home/?version=v1 ,会自动读出版本赋值给request.versionversioning_class = QueryParameterVersioningdef get(self,request):print(request.version)print(request.versioning_scheme)url = request.versioning_scheme.reverse("hh",request=request)print("反向生产URL:",url)return Response("...")

二、基于路由传递参数

1、urls.py

urlpatterns = [# 下面这两种写法都可以,一种是基于re_path的路由# path('api/<str:version>/home/', views.HomeView.as_view(), name="hh"),re_path(r'^api/(?P<version>\w+)/home/',views.HomeView.as_view(),name="hh"),]

2、settings.py

REST_FRAMEWORK={"UNAUTHENTICATED_USER": None,"VERSION_PARAM":"version",  # 决定url中版本的参数值;不设置默认也是这个值,可以通过修改这里,修改;"DEFAULT_VERSION":"v1", # 默认版本"ALLOWED_VERSIONS":["v1","v2"] #支持的版本范围
}

3、views.py

from rest_framework.versioning import   URLPathVersioningclass HomeView(APIView):# 传递过程中可以携带版本信息# http://127.0.0.1:8000/home/?version=v1 ,会自动读出版本赋值给request.versionversioning_class = URLPathVersioningdef get(self,request,*args,**kwargs):print(request.version)print(request.versioning_scheme)url = request.versioning_scheme.reverse("hh",request=request)print("反向生产URL:",url)return Response("...")

三、基于请求头传递参数

1、urls.py

urlpatterns = [# 基于请求头传递参数path('api/home/', views.HomeView.as_view(), name="hh"),
]

2、views.py 

from rest_framework.versioning import   QueryParameterVersioning,URLPathVersioning,AcceptHeaderVersioningclass HomeView(APIView):versioning_class = AcceptHeaderVersioningdef get(self,request,*args,**kwargs):print(request.version)print(request.versioning_scheme)url = request.versioning_scheme.reverse("hh",request=request)print("反向生产URL:",url)return Response("...")

四、在实际项目中,第二种通过URL传递版本号的方式还是比较常用,在使用的时候,可以通过全局配置,在views中就不需要在引入和单独设置了,可以直接使用,案例如下: 

1、settings.py

REST_FRAMEWORK={# 版本号传递全局设置"VERSION_PARAM":"version",  # 决定url中版本的参数值;不设置默认也是这个值,可以通过修改这里,修改;"DEFAULT_VERSION":"v1", # 默认版本"ALLOWED_VERSIONS":["v1","v2"], #支 持的版本范围"DEFAULT_VERSIONING_CLASS":"rest_framework.versioning.URLPathVersioning",
}

2、urls.py

  # 基于URL传递参数path('api/<str:version>/home/', views.HomeView.as_view(), name="hh"),

3、views.py

from rest_framework.views import APIView
from rest_framework.response import Responseclass HomeView(APIView):def get(self,request,*args,**kwargs):print(request.version)print(request.versioning_scheme)url = request.versioning_scheme.reverse("hh",request=request)print("反向生产URL:",url)return Response("...")

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

相关文章:

  • 微信微网站开发教程百度大数据平台
  • 网站服务设计引流推广是什么意思
  • 学校网站建设管理办法本周新闻热点事件
  • 网站移动版怎么做网站创建公司
  • wordpress 微商城模板下载地址苏州seo推广
  • 珠海网站哪家好百度com百度一下你
  • wordpress wp.net网络优化工程师是做什么的
  • 刷会员网站怎么做外贸如何推广
  • 专做女装的网站网站备案是什么意思
  • 没有网站可以做seo排名吗小学生简短小新闻摘抄
  • 做程序网站需要什么代码宁波seo搜索排名优化
  • 网站建设开发语言新冠病毒最新消息
  • 怎么做1688网站网页制作工具有哪些
  • 一个网站的主题和设计风格最好用的免费建站平台
  • 网站开发主页手机优化游戏性能的软件
  • 怎么做属于自己的域名网站网络策划方案
  • destoon做的网站百度商务合作联系
  • 金山区网站制作网络营销策划书1500字
  • 厦门网站建设制作工具熊猫关键词挖掘工具
  • 徐州网站建设 网站推广百度首页快速排名系统
  • 在线转格式网站怎么做拼多多seo 优化软件
  • 成都理工疫情最新消息贵港seo
  • 网站如何防止攻击怎么自己做一个小程序
  • 企业网站建设英文百度收录
  • wordpress查版本sem和seo的区别
  • 网站设计说明书怎么写网站建设平台官网
  • 有建网站的软件阿里云域名注册万网
  • 站长工具排名分析怎么创建公司网站
  • 网站建设标书四川seo哪里有
  • 接网站开发做多少钱建一个外贸独立站大约多少钱