2014-06-25 31 views
0

我想創建一個通用的國家視圖,該視圖基於在地圖上單擊的國家/地區填充數據。當前的URL看起來像:在Django中傳遞模板中的變量

# Country View URL 
    url(r'^country/' , 'wiki.views.country', 
     name = 'wiki_country'), 

和視圖是:

def country(request): 
    return render_to_response("wiki/country.html") 

這是好的,如果我想每個國家單獨的頁面。我在別處讀到,沒有簡單的方法從Django中的模板獲取變量。我想要的是,模板中的鏈接不僅包含URL,還包含一個值(「國家/地區名稱」),然後允許我動態填充單個CountryView模板。

回答

1

對於具體的國家,將採取id和國家的name可以定義URL模式爲:

url(r'^country/(?P<id>\d+)/(?P<name>\w+)' , 'wiki.views.country', name='wiki_country'), 

的觀點是:

def country(request, id, name): 
    country = Country.objects.get(id=id, name=name) 
    return render_to_response("wiki/country.html", {'country': country}) 

在上市的模板,你可以有一個鏈接作爲:

{% for country in countries %} 
    <a href="{% url 'wiki_country' country.id country.name %}">{{ country.name }}</a> 
{% endfor %} 

希望這會導致y ou某處。

+0

我想會的,謝謝。 – bamabacho

+0

順便說一句,我需要列表模板中的{{country.name}}嗎?既然這是用戶選擇國家的地方,我應該不要硬編碼嗎? – bamabacho

+0

好吧,我認爲這會起作用。仍然搞亂模型,但我的問題是,國家的名稱和身份證的位置在哪裏,以便可以根據這些值創建實例?確定在模板上的塊中,對嗎? – bamabacho

相關問題