之前已经学习过一些django内置的url转换器,包括int,uuid,slug,path,...有时候这些内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器。
自定义url转换器按照以下五个步骤来走就可以了:
1:定义一个类
2:在类中定义一个regex,这个属性是用来限制url转换器规则的正则表达式
3:实现to_python(self,value)方法,这个方法是见url中的值转换一下,然后再传给视图函数
4:实现to_url(self,value)方法,这个方法实在做url反转的时候,将传进来的关键字参数转换后拼接成一个正确url
5:将定义好的这个类用django.urls.converters.register_converter 方法注册到django中
DEMO
以此类推。。。。
原文:https://www.cnblogs.com/nihao2/p/12071641.html