python - 将 Python 添加到 Twitter Bootstrap

标签 python twitter-bootstrap

这可能是一个新手问题,但我想知道如何将 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 内容)。

为了清楚起见,我个人将我的分成imgcssjsfonts。像这样:

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/

相关文章:

javascript - 警告 : Tried to load angular more than once

python - jupyter nbconvert 不为 matplotlib.savefig 保存文件

python - 将列表函数应用于 itertools.groupby 中的嵌套生成器

PHP 代码不会在 while 循环中迭代到下一个数据变量(使用 bootstrap)

php - Twitter Bootstrap/Wordpress 集成的布局问题

html - 非方形图像文件上 Bootstrap 列内的圆形图像

css - 推特 Bootstrap : responsive navbar has gap on the right

python - 如何从 XML int Python 中获取一些值?

python - 如何使用 Python 的 csv 模块高效地将字典输出为 csv 文件?内存不足错误

python - 集合对象不是 PyMongo 的可调用错误