フレームワークや使用するかどうかに関係なく、静的ファイル (すべての twitter ブートストラップ コンテンツ) を保持する場所を 1 か所にすることをお勧めします。
個人的には、わかりやすくするために、、、、img
にcss
分割しています。そのようです:js
fonts
MyProject/
|-- Python/
| |-- bin
| | |-- app.py
| |-- docs
| |-- sessions
| |-- tests
| | |-- project_tests.py
|
|-- static/
| |-- css/
| | |-- bootstrap.css
| | |-- bootstrap.min.css
| | |-- my_custom_styles.css
| |-- js/
| | |-- bootstrap.js
| | |-- bootstrap.min.js
| |-- img/
| | |-- glyphicon-halflings.png
| | |-- glyphicon-halflings.png
| |-- fonts/
| | |-- cool_font
これには、Web サーバーを使用して静的コンテンツを提供するときに、テンプレートで使用してファイルシステム上/static/
のフォルダーを指すことができるという利点があります。/static/
Nginx の例:
location ~ ^/static/ {
alias /path/to/static/;
expires 30d;
}
www.yoururl.com/static/img/glyphicon-halflings.png
ファイルシステムから簡単に見つけて提供できます。
追加のボーナスとして、Python を使用して Web 用に開発している場合、多くの基本を支援する優れたフレームワークがいくつかあります。また、開発および本番環境での静的ファイルの処理に関する広範なドキュメントも用意されています。
私が使用した:
しかし、次のこともあります。
そしてもっと!
Edit1 - 追加ボーナス情報:
少し追加しますと言いました。静的ファイルを管理する方法は次のとおりです。
Django を使用するときは、テンプレート内のインライン CSS と JS を自動的に組み合わせて最小化するdjango-compressorを使用します。また、一意の識別ハッシュが追加されるため、将来のキャッシュ ヘッダーを設定して、帯域幅を節約し、読み込み時間を短縮できます。静的ファイルを変更すると、ハッシュが自動的に変更され、ブラウザによって再ダウンロードされます。
Flask (または django 以外のもの) を使用している場合は、Grunt を使用します。Python 開発向けではありませんが、継続的インテグレーション システム (Jenkins など) に簡単に接続でき、CSS と JS を結合、連結、圧縮します。ただし、一意のハッシュはまだ解決していません。
これらの新しい圧縮ファイルを新しいディレクトリに入れました - static-min
. 次に、ディレクトリ内のすべてのファイルをループして gzip する bash スクリプトを作成しstatic-min
ます (10 - 最大 gzip 圧縮) が、名前は同じままにします。これは、サポートされているブラウザーがサイトをリクエストした場合に、Nginx が圧縮された静的ファイルを提供するためです。
そのようです:
|-- static-min/
| |-- css/
| | |-- all_css_concatenated_minimised-723974hgjsf.css
| | |-- all_css_concatenated_minimised-723974hgjsf.css.gz
| |-- js/
| | |-- all_js_concatenated_minimised-djad7rhea8f.js
| | |-- all_js_concatenated_minimised-djad7rhea8f.js.gz
Nginx 構成 - これによりexpires max
、ユーザーはファイルをブラウザーのキャッシュに永久に保持できます。
location ~ ^/static-min/ {
alias /path/to/static-min/;
expires max;
}