Flask从入门到精通之静态文件

  Web 程序不是仅由Python 代码和模板组成。大多数程序还会使用静态文件,例如HTML代码中引用的图片、JavaScript 源码文件和CSS。

  在前面的章节中,我们曾检查hello.py 程序的URL 映射时,其中有一个static 路由。这是因为对静态文件的引用被当成一个特殊的路由,即/static/<filename>。例如,调用url_for('static', filename='css/styles.css', _external=True) 得到的结果是http://localhost:5000/static/css/styles.css。

  默认设置下,Flask 在程序根目录中名为static 的子目录中寻找静态文件。如果需要,可在static 文件夹中使用子文件夹存放文件。服务器收到前面那个URL 后,会生成一个响应,包含文件系统中static/css/styles.css 文件的内容。

  下面的例子展示了如何在程序的基模板中放置favicon.ico 图标。这个图标会显示在浏览器的地址栏中。

{% block head %}
{{ super() }}
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
<link rel="icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
{% endblock %}

  图标的声明会插入head 块的末尾。注意如何使用super() 保留基模板中定义的块的原始内容。

  

posted @ 2018-01-29 10:05  木易森林  阅读(1085)  评论(0编辑  收藏  举报