Login

Previewing Django templates in a browser, without even creating a Django project

Author:
aruseni
Posted:
November 9, 2014
Language:
Python
Version:
Not specified
Tags:
Score:
0 (after 0 ratings)

preview_template.py allows you to test a Django template located in the current working directory (first argument). The template is rendered with the given context (second argument, optional), and the result is immediately piped into the browser with the bcat utility.

Usage:

python preview_template.py [template name] [context]

Example:

python preview_template.py template.html "{'username': 'Његош'}"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import sys
import ast

from subprocess import Popen, PIPE

from django.template.loader import render_to_string
from django.conf import settings

settings.configure(
    TEMPLATE_DIRS=(".",)
)

template = sys.argv[1]

if len(sys.argv) == 2:
    context = {}
else:
    context = ast.literal_eval(sys.argv[2])

process = Popen("bcat", stdin=PIPE, stdout=PIPE, stderr=PIPE)
process.communicate(render_to_string(template, context).encode("utf-8"))

More like this

Comments

Please login first before commenting.