本书1-7章样章及配套资源下载链接:
https://pan.baidu.com/s/1OGmhHxEMf2ZdozkUnDkAkA?pwd=nanc
源码、PPT课件、教学视频等,可以从前言给出的下载信息下载,大家可以评估一下。
在Django框架中,默认内置了一组PATH路径转换器,具体介绍如下:
下面介绍一个关于PATH路径转换器的代码实例。
首先,新建一个用于PATH路径转换的Python文件,定义一个用于转换4位正整数年份数值的类FourDigitYearConverter,具体代码如下:
【代码4-3】(详见本书配套下载资源中的源代码中的urlconverter.py)
- 01 class FourDigitYearConverter:
- 02 regex = '[0-9]{4}'
- 03
- 04 def to_python(self, value):
- 05 return int(value)
- 06
- 07 def to_url(self, value):
- 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)
- 01 from django.urls import path
- 02
- 03 from . import urlconverter, views
- 04
- 05 register_converter(urlconverter.FourDigitYearConverter, 'yyyy')
- 06
- 07 urlpatterns = [
- 08 path('articles/2023/', views.special_case_2023),
- 09 path('articles/
/' , views.year_archive), - 10 path('articles/
//' , views.month_archive), - 11 path('articles/
///' , views.article_detail), - 12 ...
- 13 ]
【代码分析】
在第05行代码中,通过register_converter()方法注册了一个“yyyy”类型。
第07~13行代码定义了urlpatterns数组列表。其中,第09行、第10行和第11行中关于年份的类型使用了“yyyy”进行定义。
本文节选自《Django 5企业级Web应用开发实战(视频教学版)》,获出版社和作者授权发布。
《Django 5企业级Web应用开发实战(视频教学版)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com)
