Flaskにはコンテキストプロセッサのbottle.pyに相当するものがありますか?Bottle.pyのすべてのページにテンプレートコンテキストに変数を含める
6
A
答えて
3
SimpleTemplateでvanilla Bottleを使用している場合は、私が遭遇した解決策があります。
私のサイトでは、すべてのテンプレートの一部の機能にアクセスする必要がありましたが、app.get_url
は明らかにその1つです。これは私のために働いた:
# after app creation, but before the views
SimpleTemplate.defaults["get_url"] = app.get_url
SimpleTemplate.defaults["url"] = lambda: request.url
SimpleTemplate.defaults["fullpath"] = lambda: request.fullpath
SimpleTemplate.defaults["sorted"] = sorted
これはボトル0.9のように動作します、私はフレームワークのより新しいバージョンではテストしませんでした。
この動作は文書化されていませんが、Marcel Hellkampはthis threadで説明しました。そこには、他の解決法も挙げられます:
_vars
または類似のテンプレート引数でグローバルを渡します。- デフォルトを指定するデコレータを作成します。
また、ボトル0.10で、問題に関連する新しい機能がSimpleTemplateテンプレートの名前空間に導入されました:defined
, get
, and setdefault
0
注:この同じソリューションは、他のテンプレートエンジンで使用することができます。このテクニックはまったく同じですが、BaseTemplate(すべてのテンプレートクラスで使用可能)または使用するエンジンのクラスを使用します。
関連する問題
- 1. Django:テンプレートコンテキストに変数を追加する
- 2. すべてのページにテンプレートを含めるには
- 3. すべてのCSSスプライトクラスをページに含める
- 4. 変数に含める
- 5. matlabのファイルディレクトリに変数を含める..?
- 6. カルマJS - すべてのソースをすべて含めるには?
- 7. ionic2の複数のページに関数を含める方法
- 8. すべてのページにアクセス可能なブートストラップモーダルを含める方法
- 9. "included"ページを含むjspページの変数
- 10. 複数のディレクトリに設定ファイルを含めるにはPHPページ
- 11. OO PHPはすべてのプライベート変数をページに変数として返す
- 12. ユーザーコントロールとして別のangularjsページにカスタムanglejsページを含める
- 13. HTMLページをHTMLページに含める
- 14. 別の変数に変数を含める方法
- 15. cmakeにディレクトリのすべてのファイルを含めるには?
- 16. Flaskでテンプレートコンテキスト変数をテストする方法
- 17. PHPの同じページに複数のインクルードを含める方法
- 18. Djangoの複数のページに同じブロックを含める
- 19. ngModelに変数を含める方法
- 20. PHP:$ _POSTに変数を含める
- 21. 変数をTwigでパスに含める?
- 22. Djangoエラーメールにローカル変数を含める
- 23. CSS NodejsにJS変数を含める
- 24. PHP:shell_execにphp変数を含める
- 25. angular2コンポーネントにSASS変数を含める
- 26. すべてのページで同じ変数
- 27. 複数のページに独自のCSSを含むヘッダーを含めること
- 28. twigに変数を含むファイルを含めるには?
- 29. FitNesseサブウィキにすべての祖先セットアップページを含めるには?
- 30. コンパイル時にすべての.cソースファイルに#defineを含める