Django 内置URL转换器

本文介绍了Django内置的URL转换器,包括如何限制参数类型。通过引入`converters`包并查看其内容,我们可以发现多种转换器选项。要规范URL参数格式,只需在URL或path中使用特定的格式类型前缀。例如:<参数名><转换器类型>。这使得我们可以更精确地控制URL路由的参数处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何在限制参数类型:

可以使用django内置的url转换器(converters)。我们可以从converters包中了解所有的转换器,如下图:

(快速打开converters.py方法:写一行 "from django.urls import converters" 鼠标放在converters下ctrl+b)

打开converters.py后可以了解到所有的转换器:

#int类型:
class IntConverter:
    regex = '[0-9]+'

    def to_python(self, value):
        return int(value)

    def to_url(self, value):
        return str(value)
#str类型:
class StringConverter:
    regex = '[^/]+'

    def to_python(self, value):
        return value

    def to_url(self, value):
        return value
#uuid类型:
class UUIDConverter:
    regex = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'

    def to_python(self, value):
        return uuid.UUID(value)

    def to_url(self, value):
        return str(value)
#slug类型:
class SlugConverter(StringConverter):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值