扩展Django Flatpages以接受模板标签

时间:2010-06-17 23:12:01

标签: python django django-flatpages

我在网站上使用django flatpages获取大量内容,我想扩展它以接受内容中的django模板标签。

我发现了这个snippet,但经过一番讽刺之后,我无法让它发挥作用。假设您需要“子类”django flatpages应用程序才能使其正常工作,我是否正确?这是最好的方式吗?我不太确定如何构建它,因为我真的不想直接修改django发行版。

2 个答案:

答案 0 :(得分:8)

1。一个简单的页面视图,它将通过为每个页面加载模板来呈现模板标记:

url.py

中的

url(r'^page/(?P<slug>.*)/$','my_app.views.page_detail', name='page_url'),
my_app/views.py

中的

def page_detail (request, slug):
    return render_to_response('page/' + slug + '.html', {},
                              context_instance=RequestContext(request))

2. 另一种存储在数据库中的平面网页的方法是在模板中使用“模板评估标记”,如this one

修改您只需要像这样修改flatpages template

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>{{ flatpage.title }}</title>
</head>
<body>
{% load evaluate_tag %} 
{% evaluate flatpage.content %} 
</body>
</html>

答案 1 :(得分:0)

另一种方法是根据direct_to_template generic view编写一个简单的应用程序。