使用正则表达式re_path

设置re_path,导入re_path

1 from django.urls import path,re_path

然后在URlpatterns中配置url

 1 from django.contrib import admin
 2 from django.urls import path,re_path
 3 from . import views
 4
 5 # 配置url
 6
 7 urlpatterns = [
 8     path(‘admin/‘, admin.site.urls),
 9     path(‘index/‘, views.index),
10     path(‘detail/<int:pk>/‘, views.detail),  # int:路径转换器
11     # URl中捕获参数 规则: 使用‘<变量名>‘可以捕获url中的参数  传给试图
12     # 常用的转换器:str:匹配除了‘/‘路径分隔符之外的所有字符串
13     #            int: 任意整数
14
15
16     #  path(‘student/<int:year>/<int:month>/‘, views.student)\
17 # 正则表达式re_path
18     #python正则表达式的分组命名(?<name>pattern)
19     #django 搜索url  只搜索路径部分跟参数以及请求方法(get post)无关
20     re_path(r‘student/(?P<year>\d{4})/(?P<month>[0-9]|1[0-2])/‘,views.student)
21 ]

相应的view中的代码

 1 from django.http import HttpResponse  # http响应
 2
 3
 4 def index(request):
 5     return HttpResponse(‘Hello,this is my django project.‘)
 6
 7
 8 def detail(request, pk):  # url中捕获参数
 9
10     return HttpResponse(‘学生学号为%s的成绩为良好‘ % pk)
11
12
13 def student(request, year, month):
14     return HttpResponse(‘%s年%s月报名的学生‘ % (year, month))

原文地址:https://www.cnblogs.com/X1-Zi/p/10962728.html

时间: 2024-10-01 00:38:03

使用正则表达式re_path的相关文章

路由系统和模板基础

1. url的复习    网址 全球统一资源定位符    格式 协议(http,HTTPS,ftp等)+域名(ip地址和端口)+路径+参数2.django的路由系统    当一个请求来到时    1.首先到项目目录下的urls.py (根URLconf模块)中,查找路由规则    2.根URLconf模块,里面定义了 urlpatterns 变量    3.urlpatterns 是一个(django.urls.path,django.urls.re_path 对象)列表    其中django

django--项目创建

一.django 框架初探 (心蓝1202) 1 web框架介绍 wsgi web service gate interface web框架就是讲web应用开发中通用的部门抽象出来,形成一个框架,再去实现我们特定的功能 django 全能型 tornado 优秀的异步框架 web.py 小区的web框架 flask 优秀的轻量级的web框架 设计模式:mtv m models moxing t template 模板 v view 视图 2.django框架的介绍 1.环境搭建,django的安

url路由配置及渲染方式

-- django的url规则 django的路由系统 当一个请求来到时 1.首先到项目目录下的urls.py (根URLconf模块)中,查找路由规则 2.根URLconf模块,里面定义了urlpatterns变量 3.urlpatterns是一个(django.urls.path,django.urls.re_path 对象)列表 4.按顺序运行每个url模式.在第一个匹配的模板停止 5.一旦匹配,django 导入并调用给定的视图 6.如果中间出错,或者没有匹配到,返回404 -- pat

django路由分配及模板渲染

路由分配及模板渲染 1.路由系统 示例如多台电脑上网:路由器,,,网络上区分某台电脑,依据ip地址端口和网卡的mac地址 web中路由系统是分发请求,,,,web中区分请求,依据url url:全球统一资源定位符(网址) http默认端口:80 https默认端口:443 ?:url中的参数  案例: 路由模式: URLconf模块: urls.py      项目文件夹下的叫根配置文件. path(route,view,kwargs=None,name=Name) route是一个字符串,是u

路由分配及模板渲染

1.路由系统 url全球同一资源定位符 网址 url详解 URLconf模块 也就是在pycharm里 urls.py 项目文件下的根配置文件 path(routh,view,kwargs=none,name=none) route 是一个字符串 url规则 view 是一个视图 kwargs 额外的参数,是一个字典 name url规则的名字 在 url中捕获参数 like项目获取某个学生的详情 数据库 主键id 转换器 str 匹配除了路径分割符'/'之外的所有字符串,如果不写转换器,默认就

Django基于正则表达式匹配URL

在Django1.X中,是这样匹配的. 在Django2.X中,是这样匹配的. Django2.X中开始需要用re_path模块进行正则表达式匹配了,太JB坑了,卡了好久这个问题,最后还是问群里面的高手解决的. 原文地址:https://www.cnblogs.com/replaceroot/p/9925708.html

Django2.0版本的path方法无法使用正则表达式的解决办法

本人的django的版本是2.0.6 在django项目中,在urls.py文件中,匹配路由用的path方法,之前我用的都是url方法 写了一个path方法,使用正则表达式 from django.contrib import admin from django.urls import path from app1 import views urlpatterns = [ # path('admin/', admin.site.urls), path('test/', views.Test.as

019:re_path函数详解

re_path使用: 1.re_path和path的作用是一样的,只不过re_path在写url的时候可以使用正则表达式——功能更加强大: 2.使用正则表达式时,推荐使用原生字符串(即:已 r 开头的字符串): 3.在正则表达式中定义变量,需要使用小括号括起来(例如匹配年份的表达式:(?P<year>\d{4})或 (?P<year>[0-9]{4})):下图是个实例: 4.如非特殊需求(要求),直接使用path就够用了,省得将代码搞得很麻烦(说不定,相对比较复杂的表达式——过几天

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4