2

これは初心者の質問かもしれませんが、Python を Twitter Bootstrap に追加することについて疑問に思っています (どちらも学習しているだけです)。

誰かが私が持つべきフォルダ構造のアイデアを教えてもらえますか? Python フォルダーが Bootstrap プロジェクト フォルダーと同じレベルにあると思いますか?

例えば

MyProject/
|-- Python/
|   |-- bin
|   |   |-- app.py
|   |-- docs
|   |-- sessions
|   |-- tests
|   |   |-- project_tests.py
|   
|-- bootstrap/
|   |-- css
|   |   |-- bootstrap.css
|   |   |-- bootstrap.min.css
|   |   
|   |-- js
|   |   |-- bootstrap.js
|   |   |-- bootstrap.min.js
|   |-- img
|   |   |-- glyphicon-halflings.png.
|   |   |-- glyphicon-halflings.png.

ダウンロードサイトからブートストラップファイル構造を直接取得しました。Pythonディレクトリを設定する最良の方法に関するこの質問をここで見ています

いつもありがとうございます。

4

2 に答える 2

8

フレームワークや使用するかどうかに関係なく、静的ファイル (すべての twitter ブートストラップ コンテンツ) を保持する場所を 1 か所にすることをお勧めします。

個人的には、わかりやすくするために、、、、imgcss分割しています。そのようです:jsfonts

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;
    }
于 2013-05-29T15:37:08.073 に答える
0

static/lib/bootstrapBootstrap はクライアント側のみのライブラリなので、一貫性を保つために、おそらく何かの下に配置する必要があります。

于 2013-05-29T15:33:12.943 に答える