我在网站上使用django flatpages获取大量内容,我想扩展它以接受内容中的django模板标签。
我发现了这个snippet,但经过一番讽刺之后,我无法让它发挥作用。假设您需要“子类”django flatpages应用程序才能使其正常工作,我是否正确?这是最好的方式吗?我不太确定如何构建它,因为我真的不想直接修改django发行版。
答案 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编写一个简单的应用程序。