如何自定义Django Path转换器并编写正则表达式实例?

2026-05-25 01:451阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计451个文字,预计阅读时间需要2分钟。

如何自定义Django Path转换器并编写正则表达式实例?

Django默认路径转换器+str:匹配任意非空白字符字符串,不含斜杠;若无专业指定转换器,则默认使用;+int:匹配0和正整数,返回int类型;+slug:可理解为注释、后缀、附加。

Django默认Path转换器

  • str:匹配任何非空字符串,但不含斜杠/,如果你没有专门指定转换器,那么这个是默认使用的;
  • int:匹配0和正整数,返回一个int类型
  • slug:可理解为注释、后缀、附属等概念,是url拖在最后的一部分解释性字符。该转换器匹配任何ASCII字符以及连接符和下划线,比如' building-your-1st-django-site‘;
  • uuid:匹配一个uuid格式的对象。为了防止冲突,规定必须使用破折号,所有字母必须小写,例如'075194d3-6885-417e-a8a8-6c931e272f00‘ 。返回一个UUID对象;
  • path:匹配任何非空字符串,重点是可以包含路径分隔符'/‘。这个转换器可以帮助你匹配整个url而不是一段一段的url字符串

​step1 . 在urls.py 的同级目录下,创建converters.py

class Year_Converters(): regex = '\d{4}' def to_python(self,value): return int(value) def to_url(self,value): # return ;04d' % value return str(value)

step 2 注册converters 在同级urls,py 文件

from django.urls import path,register_converter from . import views from . import converters  #注册转换器  register_converter(converters.Year_Converters,'year') urlpatterns = [ path('show1/<year:arg>', views.show1), ]

正则 在urls,py 文件中,注意参数需要加() ,这里的参数是元组

from django.urls import re_path urlpatterns = [ re_path('article/(\d+)/', views.index), ]

正则关键字

re_path(r'^show3/(?P<id>\d{4})/', views.show3)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

如何自定义Django Path转换器并编写正则表达式实例?

本文共计451个文字,预计阅读时间需要2分钟。

如何自定义Django Path转换器并编写正则表达式实例?

Django默认路径转换器+str:匹配任意非空白字符字符串,不含斜杠;若无专业指定转换器,则默认使用;+int:匹配0和正整数,返回int类型;+slug:可理解为注释、后缀、附加。

Django默认Path转换器

  • str:匹配任何非空字符串,但不含斜杠/,如果你没有专门指定转换器,那么这个是默认使用的;
  • int:匹配0和正整数,返回一个int类型
  • slug:可理解为注释、后缀、附属等概念,是url拖在最后的一部分解释性字符。该转换器匹配任何ASCII字符以及连接符和下划线,比如' building-your-1st-django-site‘;
  • uuid:匹配一个uuid格式的对象。为了防止冲突,规定必须使用破折号,所有字母必须小写,例如'075194d3-6885-417e-a8a8-6c931e272f00‘ 。返回一个UUID对象;
  • path:匹配任何非空字符串,重点是可以包含路径分隔符'/‘。这个转换器可以帮助你匹配整个url而不是一段一段的url字符串

​step1 . 在urls.py 的同级目录下,创建converters.py

class Year_Converters(): regex = '\d{4}' def to_python(self,value): return int(value) def to_url(self,value): # return ;04d' % value return str(value)

step 2 注册converters 在同级urls,py 文件

from django.urls import path,register_converter from . import views from . import converters  #注册转换器  register_converter(converters.Year_Converters,'year') urlpatterns = [ path('show1/<year:arg>', views.show1), ]

正则 在urls,py 文件中,注意参数需要加() ,这里的参数是元组

from django.urls import re_path urlpatterns = [ re_path('article/(\d+)/', views.index), ]

正则关键字

re_path(r'^show3/(?P<id>\d{4})/', views.show3)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

如何自定义Django Path转换器并编写正则表达式实例?