Skip to content

Instantly share code, notes, and snippets.

@wrunk
Last active September 19, 2023 15:05
Show Gist options
  • Save wrunk/1317933 to your computer and use it in GitHub Desktop.
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

xiconet commented Feb 25, 2014

Thanks for the tips

@nueverest
Copy link

This just saved me time.

@userlerueda
Copy link

Isn't jinja2_file_system_loader.py missing import os?

@jakeingit
Copy link

helped a lot, thanks

@JavaCS3
Copy link

JavaCS3 commented Mar 27, 2017

Thanks a lot

@dorukgezici
Copy link

Nice examples, thanks!

@tongshan1
Copy link

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

@KFDCompiled
Copy link

I too found this very helpful

@emlun007
Copy link

thanks :)

@diepmv
Copy link

diepmv commented Dec 26, 2017

thank you

@baziliolg
Copy link

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

@justin-thon
Copy link

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

cshilton commented Sep 6, 2018

Thanks alot!!

@deepanprabhu
Copy link

Thanks,

@AlexDemian
Copy link

Thx, dude :)

@10000TB
Copy link

10000TB commented Feb 4, 2019

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

@kys061
Copy link

kys061 commented Feb 11, 2019

Thank you

@SadBunny
Copy link

SadBunny commented Mar 8, 2019

If only all google results were this helpful!

@pangyuteng
Copy link

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

@noateden
Copy link

noateden commented Jan 9, 2020

Thank you. You saved my time!

@RedOctober45
Copy link

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

Thanks for nice example !

@Allow-tap
Copy link

Thank you for this, saved me time!

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