次のようにジンジャ環境を構築すると:
jinja_environment = jinja2.Environment (
loader=jinja2.FileSystemLoader ((os.path.dirname (__file__), 'templates')), extensions=[])
jinja_environment.globals['url_for'] = webapp2.uri_for
私のテンプレートでは、ルートに引数が定義されていない場合、ルート名から単純な URL を作成できます。
{{ url_for('user_home') }}
ただし、ルートに などの文字列で定義された引数が含まれている場合、引数/invoice/<:\d+>
を渡すことができません。次のすべての方法で呼び出すと、次のエラーが発生して失敗しますKeyError "Missing argument "0" to build URI."
。
{{ url_for('invoice') }}
{{ url_for('invoice', args=['123']) }}
{{ url_for('invoice', kwargs={'__0__':'123'}) }}
{{ url_for('invoice',_request=None, args=['123'],kwargs={'__0__':'123'}) }}
このための既存の例は時代遅れのようです-少なくとも私はそれらを機能させることができませんでした. 私は何が欠けていますか?