第一种的方式使用(
<li><a target="_blank" href="/CC/detail/?nid={{ k}}">{{ row.name }}</a></li>
)
url(r'^detail/', views.detail),
http://127.0.0.1:8000/CC/detail/?nid=3
def detail(request):
print '2222222222222',request.GET
nid =request.GET.get("nid")
detail_info = USER_DICT[nid]
return render(request,'detail.html',{"dict":detail_info})
<ul>
{% for k,row in user_dict.items %}
<li><a target="_blank" href="/CC/detail/?nid={{ k}}">{{ row.name }}</a></li>
{% endfor %}
</ul>
第二种方式:(
<li><a target="_blank" href="/CC/detail-{{ k}}.html">{{ row.name }}</a></li>
)
url(r'^detail-(\d+).html', views.detail2),
http://127.0.0.1:8000/CC/detail-1.html
def detail2(request,nid):
print '2222222222222',request.GET
# nid =request.GET.get(nid)
detail_info = USER_DICT[nid]
return render(request,'detail.html',{"dict":detail_info})
<ul>
{% for k,row in user_dict.items %}
<li><a target="_blank" href="/CC/detail-{{ k}}.html">{{ row.name }}</a></li>
{% endfor %}
</ul>
第三种方式,多个值的匹配:
url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail3),
def detail3(request,**kwargs):
print kwargs
a.
url(r'^detail-(\d+)-(\d+).html', views.detail),
def func(request, nid, uid):
pass
def func(request, *args):
args = (2,9)
def func(request, *args, **kwargs):
args = (2,9)
b.
url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail)
def func(request, nid, uid):
pass
def funct(request, **kwargs):
kwargs = {'nid': 1, 'uid': 3}
def func(request, *args, **kwargs):
args = ()
kwargs = {'nid': 1, 'uid': 3}