2013-02-21 72 views
0

我有一個DB的Emp與以下數據:使用參數

id|name|project 
1|tom|p01 
2|tom|p02 
3|tom|p03 
4|mat|p04 
5|mat|p05 
6|katie|p06 

我顯示在一個HTML頁面name.html如下所述不同Emp.name:

<a href="emp/{{ Emp.name }}/project/">{{ Emp.name }}</a> 

現在,當用戶選擇一個特定的Emp.name時,我想在新的html頁面project.html中顯示該名稱的所有項目值。所以我需要寫如下視圖:

def project(request, ***emp_name***): 
    proj_list = Emp.objects.filter(name=***emp_name***) 
    t = loader.get_template('name/project.html') 
    c = Context({ 
     'proj_list': proj_list, 
    }) 
    return HttpResponse(t.render(c)) 

name.html必須返回emp_name到視圖項目()以查詢數據庫。如何傳遞emp_name以及如何在project()中使用它?

+0

我會強烈建議通過Django網站上的教程進行工作,因爲這是Django中非常非常基本的主體。 – Brandon 2013-02-21 05:09:50

回答

0

首先,你需要一個URL模式,將參數傳遞給視圖:

from django.conf.urls.defaults import url, patterns 

urlpatterns = patterns('your_module.views', 
    url(r'^emp/(?P<emp_name>\w+)/project/$', 'project', name='projects'), 
) 

然後,你需要重構自己的看法:

from django.shortcuts import render 
from your_module.models import Emp 

def project(request, emp_name): 
    proj_list = Emp.objects.filter(name=emp_name) 
    return render(request, 'name/project.html', {'proj_list': proj_list})