学习笔记,仅供参考 文章目录 练习1 需求 re_path方法 实现需求 练习2 需求 实现需求 练习1 需求 输入的访问地址为: ht
学习笔记,仅供参考
文章目录
- 练习1
- 需求
- re_path方法
- 实现需求
- 练习2
- 需求
- 实现需求
练习1
需求
输入的访问地址为:
http://127.0.0.1:8000/year/2018http://127.0.0.1:8000/year/2019
http://127.0.0.1:8000/year/四位数年份
得到的网页的响应内容为:
输入年份为:2018输入年份为:2019
输入年份为:四位数年份;
我们看到,在这里需要用正则表达式去匹配年份,由于path函数不支持正则表达式,所以,我们需要学习另一个函数:re_path
re_path方法
re_path 方法来兼容 1.x 版本中的 url方法,一些正则表达式的规则也可以通过 re_path来实现
from django.urls import re_pathre_path(r'year/(\d{4})/', views.year),
实现需求
urls.py
from django.contrib import adminfrom django.urls import path
from . import views
from django.urls import re_path
#.表示从当前包里导入
urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'year/(\d{4})/', views.year),
]
views.py
def year(request, y):html = "输入年份为:" + y
return HttpResponse(html)
我们看到,正则表达式中分组获取的数据,会作为实参,被传入year方法中的第二个参数y,这个参数y绑定的数据类型是字符串。
打开浏览器,输入http://127.0.0.1:8000/year/2020/:
练习2
需求
访问地址:
http://127.0.0.1:8000/birthday/四位数年份/1~2位数月份/1~2位数日期得到的网页的响应内容为:
生日为:XXXX年XX月XX日
实现需求
urls.py
urlpatterns = [path('admin/', admin.site.urls),
re_path(r'birthday/(\d{4})/(\d{1,2})/(\d{1,2})/', views.page_birth),
]
views.py
def page_birth(request, year, month, day):html = "生日为:"+year+"年"+month+"月"+day+"日"
return HttpResponse(html)
打开浏览器,输入http://127.0.0.1:8000/birthday/1997/9/28/: