[英]Adding Python to Twitter Bootstrap
這可能是一個noob問題,但我想知道將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.
我直接從下載站點獲得了bootstrap文件結構,我在這里看到關於設置Python目錄的最佳方法的這個問題
一如既往,先謝謝。
無論是否使用框架,無論是否使用框架,最好有一個地方來保存靜態文件(這將是您的所有Twitter引導程序內容)。
我個人保持我的分裂為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,那么有一些很棒的框架可以幫助您完成許多基礎知識。 他們還有關於在開發和生產部署中處理靜態文件的大量文檔。
我用過:
但也有:
還有更多 !
我說我會多補充一點。 以下是我管理靜態文件的方法:
當我使用Django時,我使用django-compressor ,它會自動組合並最小化模板中的內聯CSS和JS。 它還添加了一個唯一的標識哈希,因此您可以在未來幾年內設置緩存標頭,以節省帶寬並減少加載時間。 如果您更改靜態文件,它會自動修改哈希 - 它們會被瀏覽器重新下載。
如果我正在使用Flask(或者不是-django),我會使用Grunt。 雖然不是真正意義上的python開發,但它很容易掛鈎到一個持續集成系統(如Jenkins),並且還將為您組合,連接和壓縮您的CSS和JS。 雖然還沒有解決這個獨特的哈希問題。
這些新的壓縮文件,我放入一個新目錄 - static-min
。 然后我有一個bash腳本,它遍歷我的static-min
目錄中的所有文件並對它們進行gzip(使用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;
}
Bootstrap是一個僅限客戶端的庫,因此為了保持一致性,您可能應該將它放在static/lib/bootstrap
類的東西中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.