рдореИрдВ рд╕рд┐рд░реНрдл рдЬрд┐рдиреНрдЬрд╛ 2 рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЬреАрдм рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдЬрд┐рд╕реЗ # 255 рдореБрджреНрджреЗ рдкрд░ рднреА рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдмрдВрдж, рд▓реЗрдХрд┐рди рд░рд┐рдкреЛрд░реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХреЛрдИ рдлреЙрд▓реЛрдЕрдк рдирд╣реАрдВ рдерд╛)ред
рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ 7 x64 рдкрд░ рдкрд╛рдпрдерди 3.4.1 рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ
рдореИрдВрдиреЗ jinja2 рдХреЛ "easy_install Jinja2" рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ ...jinja2-testjinja2-test.py рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╢рд╛рдорд┐рд▓ рд╣реИ:
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('jinja2-test', 'templates'))
template = env.get_template('mytemplate.html')
print(env.list_templates())
print(template.render(the='variables', go='here'))
рдФрд░ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ ...jinja2-testtemplatesmytemplate.html
<html>
<head></head>
<body>
<h1>Rendered template</h1>
This template shows that the {{ the }} go {{ go }}
</body>
</html>
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ: python jinja2-test.py рдФрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ рдФрд░ рджреЛ рдмрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:
...\jinja2-test> python jinja2-test.py
['mytemplate.html']
<html>
<head></head>
<body>
<h1>Rendered template</h1>
This template shows that the variables go here
</body>
</html>
['mytemplate.html']
<html>
<head></head>
<body>
<h1>Rendered template</h1>
This template shows that the variables go here
</body>
</html>
рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреИрд╕реЗ ['mytemplate.html']
рджреЛ рдмрд╛рд░ рдореБрджреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рджреЛ рдкреНрд░рд┐рдВрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╣реИрдВ ... рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рджреЛрдиреЛрдВ рдкрд░ рдЖрдЬрдорд╛рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдПрдХ рдкреВрд░реНрдг рдЯреЗрд╕реНрдЯрдХреЗрд╕ рдмрдирд╛рдПрдВ (рдФрд░ рдЗрд╕реЗ рдЧрд┐рдЯ рд░реЗрдкреЛ рдореЗрдВ рд░рдЦреЗрдВ)ред
рдЕрдЬрдЧрд░ 3.4.2 . рдХреЗ рд╕рд╛рде рдХрдЯреНрдЯрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛
PackageLoader рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджреВрд╕рд░реА рдмрд╛рд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реА 2 рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп FileSystemLoader рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates'))
рджрд╕реНрддрд╛рд╡реЗрдЬ рд╡рд╣рд╛рдВ рдереЛрдбрд╝рд╛ рднреНрд░рд╛рдордХ рдерд╛;)
рдореЗрд░реЗ рдкрд╛рд╕ Ubuntu 14.04 рдкрд░ Python 2.7.11, Jinja2 2.8 рдФрд░ рдлреНрд▓рд╛рд╕реНрдХ 0.11.1 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдХреЛрдб рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ!
рдиреЛрдЯ : рдпрд╣ рддрднреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдореИрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рд░ рдХреБрдЫ рдкреЗрдЬ рдЦреЛрд▓рддрд╛ рд╣реВрдВ! рдЬрдм рдореИрдВ рдкреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ - рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдПрдХ рдмрд╛рд░ рд▓реЛрдб рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдпрд╣ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ example.py
рдЬреЛ рд╕реНрд╡рдпрдВ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ:
data = "foo"
import example
print(data)
python example.py
рдкрд╣рд▓реЗ example
рдХреЛ __main__
рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдпрд╣ рдЦреБрдж рдХреЛ example
рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рдЖрдпрд╛рдд рдХреИрд╢ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдХрд╛рд░рдг, рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рджреЛ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд╡рд╣ рд╕рд┐рд░реНрдл рдкрд╛рдпрдерди рд╣реИ, рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд┐рдВрдЬрд╛ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк __init__.py
рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреИрдХреЗрдЬ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╛ рдПрдХ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╛ рдореБрдЦреНрдп рдХреЛрдб рдХреЛ if __name__ == "__main__":
рдмреНрд▓реЙрдХ рдореЗрдВ рд░рдЦреЗрдВред
рдЕрдЬрдЧрд░ 3.4.2 . рдХреЗ рд╕рд╛рде рдХрдЯреНрдЯрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛
PackageLoader рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджреВрд╕рд░реА рдмрд╛рд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реА 2 рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп FileSystemLoader рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates'))
рджрд╕реНрддрд╛рд╡реЗрдЬ рд╡рд╣рд╛рдВ рдереЛрдбрд╝рд╛ рднреНрд░рд╛рдордХ рдерд╛;)
рдореИрдВ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЕрдЬрдЧрд░ 3.4.2 . рдХреЗ рд╕рд╛рде рдХрдЯреНрдЯрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛
PackageLoader рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджреВрд╕рд░реА рдмрд╛рд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реА 2 рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп FileSystemLoader рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
рджрд╕реНрддрд╛рд╡реЗрдЬ рд╡рд╣рд╛рдВ рдереЛрдбрд╝рд╛ рднреНрд░рд╛рдордХ рдерд╛;)