jinja テンプレート内の場合:
- {%extends xxx_string%} および {% include xxx_string%} に提供された文字列はどのように解決されますか?
- これは実際のファイルシステムまたは生成された名前空間 (Flask.url_for 関数を使用する場合など) に関連していますか?
最終的に、テンプレート内では相対インポートを使用したいと考えています (ブループリントに関して、すべてのテンプレート内のファイル システムの場所を更新する必要はありません)。私はできるようになりたいです:
- 実際のブループリント パッケージとそのネストされた静的/テンプレート リソースを任意のファイル システム パスに保存します。('/bob/projects/2013_07/marketanalysis')
- Python ブループリント パッケージ内で、別の「slugname」を定義して、ブループリント インスタンスとそのすべてのリソースを参照します。このスラッグ名をアプリケーションに登録して、グローバル参照を行います。(グローバル名の衝突や競合状態なし)
- 青写真がどのように使用されているか (見出し、表紙、イントロ、全文、引用) に応じて、「型にはまった」レイアウトを提供する汎用ビュー関数を用意します。
- 内部的には、ブループリント パッケージのファイル システム内で、テンプレート内で extends()/include() を解決するときに相対パス名を使用します (
url_for
相対ブループリント ビューを参照するときのショートカットに似ています)。
blueprint パッケージがそのすべてのリソースにバンドルされている場合、それがどこにデプロイされるかがわからず、異なるslug-names の下で何度も再配置される可能性があるという考えです。Pythonインターフェースはすべての「バンドル」で同じである必要がありますが、html コンテンツ、css、javascript、および画像/ダウンロードはバンドルごとに異なります。
私は質問をかなり鋭くしました。これがこのスレッドで進むべき範囲だと思います。