I use django flatpages for a lot of content on our site, I'd like to extend it to accept django template tags in the content as well.
I found this snippet but after much larking about I couldn't get it to work. Am I correct in assuming that you would need too "subclass" the django flatpages app to get this to work? Is this best way of doing it? I'm not quite sure how to structure it, as I don't really want to directly modify the django distribution.
1. A simple page view wich will render template tags by loading a template for each page:
in url.py
url(r'^page/(?P<slug>.*)/$','my_app.views.page_detail', name='page_url'),
in my_app/views.py
def page_detail (request, slug):
return render_to_response('page/' + slug + '.html', {},
context_instance=RequestContext(request))
2. Another method with flat pages stored in database, is to use a "template evaluation tag" in your template like this one.
edit You just have to modify flatpages template like this:
<!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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With