Skip to content

Instantly share code, notes, and snippets.

@wrunk
Last active December 16, 2025 13:19
Show Gist options
  • Select an option

  • Save wrunk/1317933 to your computer and use it in GitHub Desktop.

Select an option

Save wrunk/1317933 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
#
from jinja2 import Environment, FileSystemLoader
import os
# 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
Copy Markdown

xiconet commented Feb 25, 2014

Thanks for the tips

@nueverest
Copy link
Copy Markdown

This just saved me time.

@userlerueda
Copy link
Copy Markdown

Isn't jinja2_file_system_loader.py missing import os?

@jakeingit
Copy link
Copy Markdown

helped a lot, thanks

@JavaCS3
Copy link
Copy Markdown

JavaCS3 commented Mar 27, 2017

Thanks a lot

@dorukgezici
Copy link
Copy Markdown

Nice examples, thanks!

@tongshan1
Copy link
Copy Markdown

thanks!!!!!!!!!!!

@KFDCompiled
Copy link
Copy Markdown

I too found this very helpful

@emlun007
Copy link
Copy Markdown

thanks :)

@diepmv
Copy link
Copy Markdown

diepmv commented Dec 26, 2017

thank you

@baziliolg
Copy link
Copy Markdown

Thank you!
Official documentation suggests I should build a rocket first before I can render the template.

@justin-thon
Copy link
Copy Markdown

Thanks! Just what I needed.

Now I can migrate from flask to any newer frameworks without worrying about losing the helpful Jinja template :)

@cshilton
Copy link
Copy Markdown

cshilton commented Sep 6, 2018

Thanks alot!!

@deepanprabhu
Copy link
Copy Markdown

Thanks,

@AlexDemian
Copy link
Copy Markdown

Thx, dude :)

@10000TB
Copy link
Copy Markdown

10000TB commented Feb 4, 2019

Simple yet very useful to get started with Jinja2 , THANK YOU!

@kys061
Copy link
Copy Markdown

kys061 commented Feb 11, 2019

Thank you

@boukeb
Copy link
Copy Markdown

boukeb commented Mar 8, 2019

If only all google results were this helpful!

@pangyuteng
Copy link
Copy Markdown

very useful. I have visited this gist for probably more than 5+ times now. thanks for sharing!

@noateden
Copy link
Copy Markdown

noateden commented Jan 9, 2020

Thank you. You saved my time!

@WhiskersDeep
Copy link
Copy Markdown

I'm just trying to create a simple & basic HTML template for a Python app and this was perfect, very simple and just what I was looking for!

@DimaOsoianu
Copy link
Copy Markdown

Thanks for nice example !

@Allow-tap
Copy link
Copy Markdown

Thank you for this, saved me time!

@TehGreatCat
Copy link
Copy Markdown

Thanks for showing how to use environments succinctly!

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