扩展Django Flatpages以接受模板标签
我在我们网站上的很多内容中都使用了django扁平化页面,我想将其扩展为在内容中也接受django模板标签。
我找到了这个代码段,但经过深思熟虑之后,我还是无法使用它。我是否假设您将django平板应用程序太需要“子类化”才能正确工作,这是否正确?这是最好的方法吗?我不太确定如何构造它,因为我真的不想直接修改django发行版。
-
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.
另一种将平面页面存储在数据库中的方法是像这样在模板中使用“模板评估标签” 。编辑
您只需要像这样修改平面模板:<!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>