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. すべてのページにテンプレートを含めるには
- 2. すべてのCSSスプライトクラスをページに含める
- 3. 変数に含める
- 4. matlabのファイルディレクトリに変数を含める..?
- 5. カルマJS - すべてのソースをすべて含めるには?
- 6. "included"ページを含むjspページの変数
- 7. OO PHPはすべてのプライベート変数をページに変数として返す
- 8. 別の変数に変数を含める方法
- 9. PHP:$ _POSTに変数を含める
- 10. ngModelに変数を含める方法
- 11. Djangoエラーメールにローカル変数を含める
- 12. PHP:shell_execにphp変数を含める
- 13. cmakeにディレクトリのすべてのファイルを含めるには?
- 14. すべてのページで同じ変数
- 15. 複数のページに独自のCSSを含むヘッダーを含めること
- 16. コンパイル時にすべての.cソースファイルに#defineを含める
- 17. FitNesseサブウィキにすべての祖先セットアップページを含めるには?
- 18. HTMLページを解析してすべてのCSSスタイルを含める
- 19. Flaskでテンプレートコンテキスト変数をテストする方法
- 20. AngularJSをページに含めるには
- 21. PHP動的変数を含むウェブページにMySQLを含める
- 22. シェルスクリプトに変数を含むファイルを含める方法
- 23. body onloadイベントを使用してページにすべてのスクリプトを動的に含める方法
- 24. フォルダからすべての.jsファイルを含めるには?
- 25. すべてのクラスに同じヘッダーを含める
- 26. データフレーム内のすべての変数に最大値を含む列を返す
- 27. Djangoテンプレートコンテキストの複数の表示
- 28. JSFページにサーブレットを含める方法
- 29. JekyllページにCSSスタイルシートを含める
- 30. xhtmlページにフラッシュオブジェクトを含める方法