这可能是一个新手问题,但我想知道如何将 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 文件结构,我正在查看这个问题 here关于设置 Python 目录的最佳方法
一如既往,提前致谢。
最佳答案
无论框架或您是否使用框架,最好有一个地方来保存您的静态文件(这将是您所有的 Twitter Bootstrap 内容)。
为了清楚起见,我个人将我的分成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
这样做的好处是,当您使用网络服务器来提供静态内容时,您可以在模板中使用 /static/
并将其指向 /static/
文件系统上的文件夹。 Nginx 示例:
location ~ ^/static/ {
alias /path/to/static/;
expires 30d;
}
所以 www.yoururl.com/static/img/glyphicon-halflings.png
很容易从您的文件系统中找到和服务。
作为额外的好处,如果您正在使用 Python 进行 Web 开发,那么有一些很棒的框架可以帮助您掌握很多基础知识。他们还有大量关于在开发和生产部署中处理静态文件的文档。
我用过:
但是还有:
和more !
Edit1 - 附加奖励信息:
我说过我会添加一些额外的内容。以下是我管理静态文件的方式:
当我使用 Django 时,我使用 django-compressor ,它会自动合并和最小化模板中的内联 CSS 和 JS。它还添加了一个唯一的标识哈希,因此您可以设置 future 几年的缓存 header ,以节省带宽并减少加载时间。如果您更改静态文件,它会自动修改哈希 - 它们会被浏览器重新下载。
如果我使用 Flask(或非 Django 的东西),我会使用 Grunt。虽然不是真正用于 python 开发,但它很容易连接到持续集成系统(如 Jenkins),并且还会为你组合、连接和压缩你的 CSS 和 JS。仍然没有解决唯一哈希。
我将这些新的压缩文件放入一个新目录 - static-min
。然后我有一个 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;
}
关于python - 将 Python 添加到 Twitter Bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16818023/