GoogleAppEngineで Python 2.5からPython 2.7へ切り替えは簡単にできたけど、なぜかテンプレートを使っているサイトが文字化け(タグがタグとして働かずそのまま表示されたり)する。
from google.appengine.ext.webapp import template
このテンプレを使用していたサイトで文字がおかしくなった。この中にはDJANGOというテンプレートエンジンが入っているらしい。
いろいろ調べたら、テンプレートの中のDJANGOのバージョンが上がったのが原因だった。プログラム自体は何もイジる必要はなくて、テンプレファイル側を書き換えるだけで良かった。それまで自動エスケープされていなかったのが、バージョンアップ以降自動エスケープされているのでHTML関係の文字の扱いを気をつけないといけない。
テンプレートブロック単位の制御
テンプレートで自動エスケープを制御するには、テンプレート (または テンプレートの一部) を、以下のように autoescape タグで囲みます:{% autoescape off %}
こんにちは {{ name }} さん
{% endautoescape %}
上記の通り対処法は簡単で、指定のタグでテンプレ内のエスペープ処理してほしくない部分を囲むだけ。以上で解決。