This is a quick and dirty way to reuse the Django templating system for your own ends. Just pop in the familiar Django template syntax into whatever content you like and any chunk of content can be a template. This is great if you need to wrap data in HTML (as in for a mass email). The best part about this is that your "template" can now be stored in a database, instead of just in the file system.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #views.py
from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext, Context, Template
from models import DocumentTemplate
from django.utils.safestring import mark_safe
def printable_form(self, object_id, template_id):
"""Get a `template` and drop information into it."""
doc_template = DocumentTemplate.objects.get(pk=template_id)
result = get_object_or_404(SomeInfo, pk=object_id)
t = Template(doc_template.content)
c = Context({'result': result,})
final_html = t.render(c)
final_html = mark_safe(final_html)
return render_to_response('printable.html', {'final_html':final_html}, RequestContext(request))
|
More like this
- csrf test by zukosdead 2 months ago
- find even number by Rajeev529 10 months, 2 weeks ago
- Form field with fixed value by roam 11 months, 1 week ago
- New Snippet! by Antoliny0919 11 months, 2 weeks ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 1 year, 2 months ago
Comments
Please login first before commenting.