目标:实现点击dict列表,可查看每个详情
views.py
index.html
urls.py
<ul>
{% for k,row in user_dict.items %}
<li><a target="_blank" href="/datail/?nid={{ k }}">{{ row }}</a></li>
{% endfor %}
</ul>
path('datail/',views.datail),
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):datail.html
nid = request.GET.get('nid')
datail_info = USER_DICT[nid]
return render(request,'datail.html',{'datail_info': datail_info})
<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})