2009-11-08 68 views
4

Django中的不同頁面的特定模板鏈接可能嗎?Django的頁面特定模板

例如:

/about/ -> templates/flatpages/about.html 
/contact/ -> templates/flatpages/contact.html 

這是我有什麼,但所有這些網頁指向default.html和模板

url(r'^(?P<url>about/)$', 'django.contrib.flatpages.views.flatpage'), 
url(r'^(?P<url>contact/)$', 'django.contrib.flatpages.views.flatpage'), 
url(r'^(?P<url>feedback/)$', 'django.contrib.flatpages.views.flatpage'), 

回答

7

我不知道你有什麼版本的Django,但在1.1.1有添加/編輯flatpage管理面板底部的「高級選項」鏈接(例如http://127.0.0.1:8000/admin/flatpages/flatpage/add/。在那裏你可以啓用註釋,啓用。registraion要求和更改模板

編程,你可以這樣做:?

from django.contrib.flatpages.models import FlatPage 
my_flat_page = FlatPage.objects.get(title="example") 
my_flat_page.template_name = "/flatpages/example.html" 
my_flat_page.save() 
#or just: 
#from django.contrib.flatpages.models import FlatPage 
#FlatePage.objects.filter(title="example").update(template_name="/flatpages/example.html") 
#if you like one-liners 
1

當然!在按照說明here安裝了頁面後,您可以覆蓋任何給定頁面的默認模板(flatpages/default.html) - 具體而言,您可以自定義FlatPage model(尤其是template_name字段,但不僅限於此)的實例,其他模式,或者,我相信,在管理頁面。

+0

這是不可能做到這一點的管理 - 我認爲功能是去除我怎樣才能做到這一點編程 – Eeyore 2009-11-08 06:18:36

+0

獲取簡單頁面你慾望(在Flatpages.object中搜索title =「about」等),將它的'template_name'屬性設置爲你想要的值(「fla tpages/about.html「等),保存它。就像我說的,就像其他任何模型一樣! – 2009-11-08 15:29:46

相關問題