如何在 Django 中删除根 URL API 中的最后一个 / 字符
How to remove last / character in root URL API in Django
API 仅适用于以下 url:
http://127.0.0.1:1997/api/v1/groups/
如何删除最后一个“/”,使其像下面这样工作:
http://127.0.0.1:1997/api/v1/groups
我的配置url代码:
import os
from django.contrib import admin
from django.urls import path, include
from rest_framework import routers
from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRenderer
from groups import views as group_views
API_VERSION = os.getenv('API_VERSION')
API_ROOT = f"api/{API_VERSION}/"
router = routers.DefaultRouter()
router.register('groups', group_views.GroupViewSet)
schema_view = get_schema_view(
title='next_blog',
renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer])
urlpatterns = [
path('admin', admin.site.urls),
path('api_auth', include(
'rest_framework.urls', namespace='rest_framework')),
path('docs', schema_view, name='docs'),
path(API_ROOT, include(router.urls)),
]
谢谢大家!
在实例化路由器时将 trailing_slash 参数设置为 False。
router = DefaultRouter(trailing_slash=False)
API 仅适用于以下 url:
http://127.0.0.1:1997/api/v1/groups/
如何删除最后一个“/”,使其像下面这样工作:
http://127.0.0.1:1997/api/v1/groups
我的配置url代码:
import os
from django.contrib import admin
from django.urls import path, include
from rest_framework import routers
from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRenderer
from groups import views as group_views
API_VERSION = os.getenv('API_VERSION')
API_ROOT = f"api/{API_VERSION}/"
router = routers.DefaultRouter()
router.register('groups', group_views.GroupViewSet)
schema_view = get_schema_view(
title='next_blog',
renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer])
urlpatterns = [
path('admin', admin.site.urls),
path('api_auth', include(
'rest_framework.urls', namespace='rest_framework')),
path('docs', schema_view, name='docs'),
path(API_ROOT, include(router.urls)),
]
谢谢大家!
在实例化路由器时将 trailing_slash 参数设置为 False。
router = DefaultRouter(trailing_slash=False)