4

是否可以在 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'),
4

2 回答 2

7

我不知道你有什么版本的 Django,但在 1.1.1 中,添加/编辑平面管理面板底部有“高级选项”链接(例如。http://127.0.0.1:8000/admin/flatpages/flatpage/add/在那里你可以启用评论、启用注册要求和更改模板.

以编程方式,您可以执行以下操作:

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
于 2009-11-08T12:38:07.807 回答
1

当然!按照此处的说明安装平面页面后,您可以覆盖flatpages/default.html任何给定平面页面的默认模板template_name模型,或者,我相信,在管理页面中。

于 2009-11-08T03:15:54.620 回答