python_Django默认转换器

默认Path converter

Django2.0自带的PathConveter包括:

  • str:匹配除了路径分隔符(/)之外的非空字符串,如果没有转换器,默认使用str作为转换器。
  • int:匹配0及正整数。
  • slug:匹配字母、数字以及横杠、下划线组成的字符串。
  • uuid:匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00
  • path:匹配任何非空字符串,包含了路径分隔符(/)

自定义转换器:

  1.创建一个py文件urlconvert.py

class MonConvert:   # 自定义名
    regex = '\d*'  # 正则规则
    # 【下面两个必须这样写!!!!!】
    def to_python(self, value):
        return int(value)
    def to_url(self, value):  # 反向解析
        return f'{value}04d'

  2.在urls.py中注册第一步的路径方法

# 要引入注册自定义匹配膜拜模块
from django.urls import register_converter
from app01.conveter import MonConvert

register_converter(MonConvert, 'mm')  # mm取的名字,无所谓,后面引用这个名字匹配正则即可
urlpatterns = [   
    path('articles/<mm:year>/', views.路径),  
    ...  
]

 

posted @ 2020-03-06 01:23  手可摘星辰。  阅读(342)  评论(0编辑  收藏  举报