Jinja 式内のテンプレート変数の参照
Flask Web アプリケーションでは、Jinja 式内のテンプレート変数を使用して URL を動的に生成するのが一般的です。ただし、次のシナリオに示すように、Jinja 式内の変数の参照は困難な場合があります。
@app.route('/magic/<filename>') def moremagic(filename): pass<p><p></p><pre class="brush:php;toolbar:false"><h1>you uploaded {{ name }}</h1> <a href="{{ url_for('/magic/<filename>') }}">Click to see magic happen</a>< として定義されたルートを考えます。 p>テンプレートからルートへのリンクを生成するには、次のように url_for() を使用するとよいでしょう。 this:</p></p> <p></p> <p><p>ただし、{{name}} の値を URL に動的に挿入する必要がある場合、このアプローチでは Jinja2 構文エラーが発生します。</p> <pre class="brush:php;toolbar:false"><h1>you uploaded {{ name }}</h1> <a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
この修正されたコードでは、Jinja 式を囲む余分な括弧が削除され、name 変数は次のようになります。引数として url_for() 関数に渡されます。
url_for() にはエンドポイント名が必要であることに注意してください。これは、この例では関数 (moremagic) の名前です。 場合。 URL パス自体は必要ありません。以上がFlask の Jinja `url_for` 式内のテンプレート変数を適切に参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。