Jinja2 | Python-Vorlagen-Engine

** Beachten Sie, dass ich die Template-Engine in Python recherchiert habe. ** ** **

Also habe ich Jinja2 ausprobiert. Der Ursprung des Namens ist Vorlage ⇒ Tempel ⇒ Schrein. ‥Das war's.

1) Installieren

Die Umgebung ist Sakura VPS (CentOS)

yum install python-pip (nur wenn du noch kein pip hast)
pip install jinja2

2) Apache-Einstellungen (nur für diejenigen, die dies noch nicht getan haben)

Konfigurieren Sie Apache so, dass Python als CGI funktioniert.

vi /etc/httpd/conf/httpd.conf

Ändern Sie 2 in httpd.conf geschriebene Stellen mit dem vi-Editor usw.

httpd.conf


1)
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
↓ ExecCGI hinzugefügt
    Options Indexes FollowSymLinks ExecCGI
</Directory>

2)
#AddHandler cgi-script .cgi
↓ Kommentar und.py hinzugefügt
AddHandler cgi-script .cgi .py

Starten Sie Apache nach dem Speichern der Einstellungen neu.

service httpd restart

3) Vorlage

html:hello.tpl.html(UTF-8)


<html>
<body>
Herzlich willkommen,{{ shop }}ist.
<hr>
<ul>
{% for food in foods %}
    <li>{{ loop.index }}: {{ food.name }} - {{ food.price }}Kreis</li>
{% endfor %}
</ul>
</body>
</html>

4) Vorderseite (Seite, die die Vorlage aufruft)

Alle Python-Quelldateien sind in UTF-8 geschrieben, und die Berechtigung nach dem Hochladen beträgt 755 (Ausführungsberechtigung erteilen). Außerdem ist die folgende Ausgabe erforderlich, bevor HTML ausgegeben wird. (Wenn Sie es vergessen, tritt sofort ein Fehler auf.)

print "Content-Type: text/html\n";

hello.py(UTF-8)


#!/usr/bin/python
# -*- coding: utf-8 -*-
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('./', encoding='utf8'))
tpl = env.get_template('hello.tpl.html')

foods = []
foods.append({'name':u'Ramen', 'price':400})
foods.append({'name':u'Gegrillter Reis',   'price':500})
foods.append({'name':u'Tianjin Reis',   'price':600})

html = tpl.render({'shop':u'Gokuken', 'foods':foods})
print 'Content-Type: text/html; charset=utf-8\n'
print html.encode('utf-8')

Greifen Sie danach über den Browser auf hello.py zu und überprüfen Sie.

(・ O ・ ゞ Ijo.

Referenzlink

jinja2 | it-note 1.0 Dokument http://maman-it-information.readthedocs.org/ja/latest/src/python/jinja2/jinja2.html

Offizielle Python-Dokumentation http://jinja.pocoo.org/docs/dev/

Recommended Posts

Jinja2 | Python-Vorlagen-Engine
Python Template Engine Empy
Python Jinja2
Verwenden Sie Jinja2 für die PasteScript-Vorlagen-Engine
Python Argparse Vorlage
Webanwendung mit Python3.3.1 + Flasche (1) - Ändern Sie die Vorlagen-Engine in jinja2
[Python] Tkinter-Vorlage
Wettbewerbsfähige Pro-Vorlage (Python)
Python-Unit-Test-Vorlage
Generierung der Vorlagen-Netzwerkkonfiguration mit Python und Jinja2
Python-Vorlage für Codeforces-manuelle Test-
Suchmaschinen arbeiten mit Python
[Python] Competitive Pro-Vorlage [At Coder]
Python Design Pattern - Template-Methode
Verwenden Sie die jinja2-Vorlage in einer Excel-Datei
Python
Vorverarbeitungsvorlage für die Datenanalyse (Python)
Vorlage AtCoder ABC 179 Python (A ~ E)
Vorlage
Ab Django 1.8 können Sie Jinja2 als Template-Engine #djangoja auswählen
Führen Sie Cloud Dataflow (Python) über AppEngine aus
[Python] Führen Sie Flask in Google App Engine aus
Vorlage zum Schreiben von Batch-Skripten in Python
Die Python-Projektvorlage, an die ich denke.
[Pyto] Betreibe die Taptic Engine des iPhone mit Python
Verwenden von Djangos ImageField mit AppEngine / Python