Skip to content

Instantly share code, notes, and snippets.

@aruseni
Created April 7, 2014 12:17
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aruseni/10019214 to your computer and use it in GitHub Desktop.
Save aruseni/10019214 to your computer and use it in GitHub Desktop.
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"))
@aruseni
Copy link
Author

aruseni commented Apr 7, 2014

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': 'Његош'}"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment