Mako テンプレートで Pyramid 1.3 を使用しています。空の辞書をテンプレートに返す「create」というメソッドを含むビューがあります。作成と編集の両方で同じ「create.mako」テンプレートを使用するつもりです。入力フィールドに次のようなコンテキスト変数を配置しました。
<input type="text" id="nameInput" value="${content['name']}" />
これに関する問題は、create メソッドをロードしようとすると、次のようなエラーが発生することです。
<input id="nameInput" value="${content['name']}" type="text" class="span8" style="background-color: #EED3D7;" />
TypeError: 'Undefined' object is unsubscriptable
create メソッドは空の辞書のみを返し、キー「コンテンツ」を持たないため、これはもちろん正しいです。これは Pylons 0.9.7 では問題ありませんでした。存在しない場合は空の文字列になります。
StackOverflow から解決策を見つけました:
import mako.runtime
mako.runtime.UNDEFINED = ''
しかし、これを Pyramid プロジェクトのどこに置くのでしょうか?