Skip to content

Instantly share code, notes, and snippets.

@xiconet
Forked from wrunk/jinja2_file_less.py
Last active August 29, 2015 13:56
Show Gist options
  • Save xiconet/9205858 to your computer and use it in GitHub Desktop.
Save xiconet/9205858 to your computer and use it in GitHub Desktop.
Python Jinja2 examples
#!/usr/bin/env/python
#
# More of a reference of using jinaj2 without actual template files.
# This is great for a simple output transformation to standard out.
#
# Of course you will need to "sudo pip install jinja2" first!
#
# I like to refer to the following to remember how to use jinja2 :)
# http://jinja.pocoo.org/docs/templates/
#
from jinja2 import Environment
HTML = """
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
Hello.
</body>
</html>
"""
def print_html_doc():
print Environment().from_string(HTML).render(title='Hellow Gist from GutHub')
if __name__ == '__main__':
print_html_doc()
#!/usr/bin/env/python
#
# Using the file system load
#
# We now assume we have a file in the same dir as this one called
# test_template.html
#
import os
from jinja2 import Environment, FileSystemLoader
# Capture our current directory
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
def print_html_doc():
# Create the jinja2 environment.
# Notice the use of trim_blocks, which greatly helps control whitespace.
j2_env = Environment(loader=FileSystemLoader(THIS_DIR),
trim_blocks=True)
print j2_env.get_template('test_template.html').render(
title='Hellow Gist from GutHub'
)
if __name__ == '__main__':
print_html_doc()
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
Hello.
</body>
</html>
@xiconet
Copy link
Author

xiconet commented Feb 25, 2014

added a required import os statement to jinja2_file_system_loader.py

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