3

Flaskのjavascriptファイルなど、htmlテンプレートと静的ファイルの場所を指定する方法を見つけようとしています。

私は現在、このようにモジュールをロードできるようにする構造を持っています

/wsgi
  /templates
         /login.html
         /logout.html
         /menu.html
  /static
  /modules
         /helloworld
                   /module.html
                   /module.json
                   /module.js

たとえば、静的フォルダーに移動することなく、テンプレートを直接使用して Javascript ファイルをロードできるようにしたいと考えています。

理想的には、私はこのようなことをしたいと思います

moduleHtml  = render_template(moduleHtmlPath)

そしてテンプレート内

<script type=text/javascript src="{{ url_for('myModule', filename='module.js') }}"></script>
4

1 に答える 1

5

Flask のブループリント機能を使用している場合は、ブループリント内に静的ファイルを含めることができます。あなたが持っているもののようなものですが、それらを「静的」フォルダーに入れるだけです。ドキュメントにはかなり良い例があります:

http://flask.pocoo.org/docs/blueprints/#static-files

helloworld = Blueprint('helloworld', __name__, static_folder='static')

次に、テンプレート内の静的ファイルを次のように参照します。

url_for('helloworld.static', filename='module.js')

設計図に慣れていない場合は、熟読する価値があります。彼らはかなり滑らかです。

それ以外の場合、Flask にはグローバル静的ファイルを参照する組み込みの方法がありますが、ルートの「静的」ディレクトリにある必要があります。

http://flask.pocoo.org/docs/quickstart/#static-files

url_for('static', filename='module.js')
于 2012-11-27T20:21:04.960 に答える