いくつかの GAE アプリを Python 2.5 から 2.7 に移行中です。Django テンプレート (任意のバージョン) をこのバージョンの Python にインポートするのは、はるかに難しいようです。私は Google の T への指示に従い、ウェブで助けを求めましたが、最終的には失敗しました。これが私が試したことです。皆さんの誰かが私を助けることができるかどうか疑問に思っていました! 前もって感謝します。
app.yaml で:
libraries:
- name: django
version: "1.2"
main.yaml で:
import os
# specify the name of your settings module
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
import django.core.handlers.wsgi
app = django.core.handlers.wsgi.WSGIHandler()
メインクラス:
class Main(webapp2.RequestHandler):
def get(self):
self.response.out.write(template.render('index.html', None))
私が得るエラー:
NameError: グローバル名 'template' が定義されていません
興味深いことに、Jinja2 テンプレートで動作しました。ただし、すべての HTML コードは Django テンプレートを使用して記述されており、すべてを変換するには時間がかかりすぎると思います。動作する Jinja2 コードを次に示します (簡単にするために、すべて 1 つのコード ブロックにまとめています)。
libraries:
- name: jinja2
version: latest
import jinja2
import os
jinja_environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))
class Main(webapp2.RequestHandler):
def get(self):
template = jinja_environment.get_template('index.html')
self.response.out.write(template.render())