扩展Django Flatpages以接受模板标签

Tri*_*ton 7 python django django-flatpages

我在我们的网站上使用django flatpages获取了很多内容,我想扩展它以接受内容中的django模板标签.

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

Pie*_*ert 8

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

url.py

url(r'^page/(?P<slug>.*)/$','my_app.views.page_detail', name='page_url'),
Run Code Online (Sandbox Code Playgroud)

my_app/views.py

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

2.存储在数据库中的平面页面的另一种方法是在模板中使用"模板评估标记",就像这样.

编辑您只需修改flatpages模板,如下所示:

<!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>
Run Code Online (Sandbox Code Playgroud)