ToB企服应用市场:ToB评测及商务社交产业平台

标题: Django的PATH路径转换器 [打印本页]

作者: 汕尾海湾    时间: 2024-6-13 21:58
标题: Django的PATH路径转换器
本书1-7章样章及配套资源下载链接:
https://pan.baidu.com/s/1OGmhHxEMf2ZdozkUnDkAkA?pwd=nanc 
源码、PPT课件、教学视频等,可以从前言给出的下载信息下载,各人可以评估一下。

在Django框架中,默认内置了一组PATH路径转换器,具体先容如下:

下面先容一个关于PATH路径转换器的代码实例。
首先,新建一个用于PATH路径转换的Python文件,定义一个用于转换4位正整数年份数值的类FourDigitYearConverter,具体代码如下:
【代码4-3】(详见本书配套下载资源中的源代码中的urlconverter.py)
  1. 01  class FourDigitYearConverter:
  2. 02      regex = '[0-9]{4}'
  3. 03  
  4. 04      def to_python(self, value):
  5. 05          return int(value)
  6. 06  
  7. 07      def to_url(self, value):
  8. 08          return '%04d' % value
复制代码
【代码分析】
在第02行代码定义了类属性regex,格式为4位整数的正则表达式。
在第04、05行代码定义了类方法to_python(),用于将4位整数(value)转换为Python数据范例。
在第07、08行代码定义了类方法to_url(),用于将Python数据范例转换为URL地址,并举行了格式化操作(使用数字“0”从左添补的4位整数)。
然后,基于【代码4-3】举行修改,在URLconf模块中使用register_converter()方法举行注册,具体代码如下:
【代码4-4】(urlconf.py)
  1. 01  from django.urls import path
  2. 02  
  3. 03  from . import urlconverter, views
  4. 04  
  5. 05  register_converter(urlconverter.FourDigitYearConverter, 'yyyy')
  6. 06  
  7. 07  urlpatterns = [
  8. 08      path('articles/2023/', views.special_case_2023),
  9. 09      path('articles/<yyyy:year>/', views.year_archive),
  10. 10      path('articles/<yyyy:year>/<int:month>/', views.month_archive),
  11. 11      path('articles/<yyyy:year>/<int:month>/<slug:slug>/', views.article_detail),
  12. 12      ...
  13. 13  ]
复制代码
【代码分析】
在第05行代码中,通过register_converter()方法注册了一个“yyyy”范例。
第07~13行代码定义了urlpatterns数组列表。此中,第09行、第10行和第11行中关于年份的范例使用了“yyyy”举行定义。
本文节选自《Django 5企业级Web应用开辟实战(视频教学版)》,获出书社和作者授权发布。
《Django 5企业级Web应用开辟实战(视频教学版)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4