How can I make a trailing slash optional on a Django Rest Framework SimpleRouter

后端 未结 5 1982
死守一世寂寞
死守一世寂寞 2021-02-05 02:43

The docs say you can set trailing_slash=False but how can you allow both endpoints to work, with or without a trailing slash?

5条回答
  •  情歌与酒
    2021-02-05 03:16

    You can override the __init__ method of the SimpleRouter class:

    from rest_framework.routers import SimpleRouter
    
    
    class OptionalSlashRouter(SimpleRouter):
    
        def __init__(self):
            super().__init__()
            self.trailing_slash = '/?'
    

    The ? character will make the slash optional for all available routes.

提交回复
热议问题