quickstart
以下は、Makoテンプレートシステムを使用するように構成されたTurboGears2.2.2ベースのプロジェクトを変更するときに機能します。最初に私はいくつかの変更を加えましたexample/controllers/root.py
:
# …
from tg import config
import os
import base64
class RootController(BaseController):
# …
def _file_to_base64(self, path):
with open(path, 'r') as stream:
image_data = base64.b64encode(stream.read())
return 'data:image/{0};base64,{1}' \
.format(path.rsplit('.', 1)[-1].lower(), image_data)
@expose('example.templates.index')
def index(self):
"""Handle the front-page."""
filename = os.path.join(config['paths']['static_files'],
'images', 'turbogears_logo.png')
return dict(page='index', image_data=self._file_to_base64(filename))
次に、makeテンプレートのコードは次のようになります。
<img src="${image_data}" />
上記のコードは、Python2.7.3を使用してテストされました。データベースの画像形式またはエンコーディングが、プレーンな画像ファイルから読み込まれるデータとどのように異なるのかわかりません。