标签:匹配 views 配置 number path page 路由 view
path() 函数
导入 from django.urls import parh
语法 path(route, views, name = None)
参数
- route: 字符串类型,匹配的请求路径
- views: 指定路径所对应的视图处理函数的名词
- name: 为地址起别名,在模板中地址反向解析时使用
path 转换器
语法:<转换器类型:自定义名>
作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数 例子: path(‘page/’,views.xxx)
转换器类型 | 作用 |
---|---|
str | 匹配除了’/’之外的非空字符串 |
int | 匹配0或任何正整数。返回一个int |
slug | 匹配任意由ASCII字母或数字以及连字符和下划线组成的短标签 |
path | 匹配非空字段,包括路径分隔符’/’ |
例子
在setting中urlpatter列表中设置path
from django.url import path
urlpatterns = [
path('page/<int:ph>',views.pagen_view), # .../page/100 匹配0到任意的正整数
path('page/<str:ph>',views.pagen_view), # .../page/string 匹配任意字符串
path('page/<slug:ph>',views.pagen_view), # .../page/cs-dn 匹配字母或数字、下划线、特殊字符
path('page/<path:ph>',views.pagen_view) # .../page/a/b/c 匹配非空字段包含路径分隔符 '/'
]
在views文件中创建对视图函数 pagen_view
from django.http import HttpRespon
def pagen_view(request,ph):
html = f‘这是编号为{ph}的网页’
return HttpResponse(html)
小结
构建对应的视图函数时候形参名必须和转换器的变量名一致
练习: 小计算器
定义一个路由的格式 http://127.0.0.1:8000/整数/操作字符串[add,sub,mul]/整数
从路由中提取数据,做相应的操作后返回给浏览器
对应效果如下
127.0.0.1:8000/200/add/300
页面显示结果: 500
示例代码
# setting文件
from django.urls import path,re_path
from . import views
urlpatterns= [
path('<int:a>/<str:b>/<int:c>', views.number_view)
]
#
def number_view(request,a,b,c):
if b not in ['add','sub','mul']:
return HttpResponse('Your op is wrong')
number = 0
if b == 'add':
number = a + c
elif b == 'sub':
number = a - c
elif b == 'mul':
number = a * c
return HttpResponse(number)
标签:匹配,views,配置,number,path,page,路由,view 来源: https://blog.csdn.net/weixin_49518165/article/details/119040387
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。