Django基于正则表达式的URL

目标:实现点击dict列表,可查看每个详情
index.html
 
  
<ul>
{% for k,row in user_dict.items %}
<li><a target="_blank" href="/datail/?nid={{ k }}">{{ row }}</a></li>
{% endfor %}
</ul>
urls.py
 
  
path('datail/',views.datail),
views.py
 
  
def datail(request):
nid = request.GET.get('nid')
return HttpResponse(nid)
深入:
网址以这种方式显示
 
   
  
view.py
USER_DICT = {
'1': {'name':'root1','email':'liyj@126.com'},
'2': {'name':'root2','email':'liyj2@126.com'},
'3': {'name':'root3','email':'liyj3@126.com'}
}
def datail(request):
nid = request.GET.get('nid')
datail_info = USER_DICT[nid]
return render(request,'datail.html',{'datail_info': datail_info})
datail.html
<body>
<p>详细信息</p>
<h6>用户名:{{ datail_info.name }}</h6>
<h6>邮箱:{{ datail_info.email }}</h6>
</body>
点击root1进入页面
第二种方式
网址以这种方式显示
http://127.0.0.1:8001/datail-1.html

就要用到正则表达式

Django2版本是

 
  
 
  
 
  
 
  
from django.urls import path,re_path
re_path(r'^datail-(\d+).html',views.datail),
views.py
def datail(request,nid):
    datail_info = USER_DICT[nid]
return render(request,'datail.html',{'datail_info': datail_info})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值