我用的是姜戈休息花架。我有四个版本的相同的应用程序和代码是不同的,取决于版本。所以,我在代码中实现if-else条件。 前任:
version1 = ('1.0','2.0') version2 = ('3.0','4.0') if request.META['HTTP_VERSION'] in version1: #run this code elif request.META['HTTP_VERSION'] in version2: #run this code else: # run this code
在django-rest框架中,有没有更好的方法来实现不同应用程序版本的代码?请建议我。
您可以使用DRF的内置 versioning 工具。
只需将其添加到设置中即可启用版本控制。py:
REST_FRAMEWORK = { 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning' }
现在,您可以使用 Accept 标题:
Accept
GET /bookings/ HTTP/1.1 Host: example.com Accept: application/json; version=1.0
在后端使用时检查请求的版本 request.version :
request.version
request.version == '1.0'