** 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.
L'environnement est Sakura VPS (CentOS)
yum install python-pip (uniquement si vous n'avez pas encore de pip)
pip install jinja2
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
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>
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.
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