Moteur de template Jinja2 2 Python

** Notez que j'ai recherché le moteur de modèle en Python. ** **

J'ai donc essayé Jinja2. L'origine du nom est le modèle ⇒ temple ⇒ sanctuaire. ‥Je vois.

1) Installer

L'environnement est Sakura VPS (CentOS)

yum install python-pip (uniquement si vous n'avez pas encore de pip)
pip install jinja2

2) Paramètres Apache (uniquement pour ceux qui ne l'ont pas encore fait)

Configurez Apache pour que Python fonctionne comme un CGI.

vi /etc/httpd/conf/httpd.conf

Changez 2 endroits écrits dans httpd.conf avec l'éditeur vi etc.

httpd.conf


1)
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
↓ Ajout de ExecCGI
    Options Indexes FollowSymLinks ExecCGI
</Directory>

2)
#AddHandler cgi-script .cgi
↓ Décommenter et.py ajouté
AddHandler cgi-script .cgi .py

Après avoir enregistré les paramètres, redémarrez Apache.

service httpd restart

3) Modèle

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


<html>
<body>
Bienvenue,{{ shop }}est.
<hr>
<ul>
{% for food in foods %}
    <li>{{ loop.index }}: {{ food.name }} - {{ food.price }}Cercle</li>
{% endfor %}
</ul>
</body>
</html>

4) Face avant (face qui appelle le modèle)

Tous les fichiers source Python sont écrits en UTF-8, et l'autorisation après le téléchargement est 755 (donne l'autorisation d'exécution). De plus, la sortie suivante est requise avant la sortie HTML. (Si vous l'oubliez, une erreur immédiate se produira)

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'Riz grillé',   'price':500})
foods.append({'name':u'Riz Tianjin',   'price':600})

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

Après cela, accédez à hello.py depuis le navigateur et vérifiez.

(・ O ・ ゞ Ijo.

Lien de référence

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

Documentation officielle Python http://jinja.pocoo.org/docs/dev/

Recommended Posts

Moteur de template Jinja2 2 Python
Python Jinja2
Utiliser Jinja2 pour le moteur de modèle PasteScript
modèle argparse python
Application Web avec Python3.3.1 + Bottle (1) - Changer le moteur de modèle en jinja2
[Python] Modèle Tkinter
Modèle Pro compétitif (Python)
modèle de test unitaire python
Génération de configuration de réseau de modèles avec Python et Jinja2
Modèle Python pour Codeforces-test manuel-
Les moteurs de recherche fonctionnent avec python
[Python] Modèle Pro compétitif [Chez Coder]
Python Design Pattern - Méthode de modèle
Utilisez le modèle jinja2 dans un fichier Excel
Python
Modèle de prétraitement pour l'analyse des données (Python)
Modèle AtCoder ABC 179 Python (A ~ E)
modèle
À partir de Django 1.8, vous pouvez choisir Jinja2 comme moteur de modèle #djangoja
Exécutez Cloud Dataflow (Python) depuis AppEngine
[Python] Exécutez Flask sur Google App Engine
Modèle pour l'écriture de scripts batch en python
Le modèle de projet Python auquel je pense.
[Pyto] Faites fonctionner le Taptic Engine de l'iPhone avec Python
Utilisation de ImageField de Django avec AppEngine / Python