Adding Python to Twitter Bootstrap
这可能是一个无意义的问题,但我想知道如何将python添加到twitter引导程序中(这两个问题我都只是在学习)
有人能告诉我一些我应该有的文件夹结构吗?我假设我的python文件夹与我的bootstrap项目文件夹处于同一级别?
例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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目录的最佳方法的这个问题。
一如既往,提前谢谢。
型
无论您是否使用框架,最好有一个单独的位置来保存静态文件(这将是您的Twitter引导程序的所有内容)。
就我个人而言,为了清楚起见,我把我的分为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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服务器提供静态内容时,可以在模板中使用
1 2 3 4 | location ~ ^/static/ { alias /path/to/static/; expires 30d; } |
号
因此,
另外一个好处是,如果您正在使用Python开发Web,那么有一些很棒的框架可以帮助您完成很多基础工作。他们还拥有在开发和生产部署中处理静态文件的大量文档。
我用过:
- 百万千克1Django-这是静态文档百万千克1百万千克1flask-这里是静态文件文档百万千克1
型
但也有:
- 百万千克1塔架百万千克1百万千克1web2py百万千克1
型
还有更多!
编辑1-额外奖金信息:
我说我要多加一点。以下是我如何管理静态文件:
当我使用django时,我使用django压缩器,它将自动组合并最小化模板中的内联CSS和JS。它还添加了一个唯一的标识哈希,这样您可以在未来数年内设置缓存头,以节省带宽并减少加载时间。如果您更改静态文件,它会自动修改散列值-它们由浏览器下载。
如果我用的是烧瓶(或者别的什么东西不是姜戈),我用的是咕噜。虽然这并不是针对Python开发的,但是很容易连接到一个持续集成系统(比如Jenkins)中,并且还可以为您合并、连接和压缩CSS和JS。但仍然没有解决唯一的哈希。
这些新的压缩文件,我放进了一个新的目录-
就像这样:
1 2 3 4 5 6 7 | |-- 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 config-
1 2 3 4 | location ~ ^/static-min/ { alias /path/to/static-min/; expires max; } |
。
型
引导程序是一个客户端专用的库,因此为了一致性,您可能应该将它放在类似于