### 導航
- [索引](# "總目錄")
- [下一頁](# "數據流") |
- [上一頁](# "在 Flask 中使用 MongoKit") |
- [Flask 0.10.1 文檔](#) ?
- [Flask 代碼模式](#) ?
# 添加 Favicon
“Favicon” 是指您的網頁瀏覽器顯示在標簽頁或者歷史記錄里的圖標。這個圖標能幫助用戶將您的網站與其他網站區分開,因此請使用一個獨特的標志
一個普遍的問題是如何將一個 Favicon 添加到您的 Flask 應用中。首先,您當然得先有一個可用的圖標,此圖標應該是 16 x 16 像素的,且格式為 ICO 。這些雖然不是必需的規則,但是是被所有瀏覽器所支持的事實標準。將這個圖標放置到您的靜態文件目錄下,文件名為 favicon.ico 。
現在,為了讓瀏覽器找到您的圖標,正確的方法是添加一個 Link 標簽到 HTML 當中例如:
~~~
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
~~~
對于大多數瀏覽器來說,這就足夠了。然后一些非常老的瀏覽器不支持這個標準。原來的標準是在網站的根路徑下,查找 favicon 文件,并使用它。如果應用程序不是掛在在域名的根路徑,您要么需要配置 Web 服務器來在根路徑提供這一圖標,要么您就很不幸地無法實現這一功能了。然而,如果您餓應用是在根路徑,您就可以簡單的配置一條重定向的路由:
~~~
app.add_url_rule('/favicon.ico',
redirect_to=url_for('static', filename='favicon.ico'))
~~~
如果想要保存額外的重定向請求,您也可以使用 [send_from_directory()](# "flask.send_from_directory")函數寫一個視圖函數:
~~~
import os
from flask import send_from_directory
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),
'favicon.ico', mimetype='image/vnd.microsoft.icon')
~~~
我們可以不詳細指定 mimetype ,瀏覽器將會自行猜測文件的類型。但是我們也可以指定它以便于避免額外的猜測,因為這個 mimetype 總是固定的。
以上的代碼將會通過您的應用程序來提供圖標文件的訪問。然而,如果可能的話配置您的網頁服務器來提供訪問服務會更好。請參考對應網頁服務器的文檔。
### 參考
- Wikipedia 上有關 [Favicon](http://en.wikipedia.org/wiki/Favicon) [http://en.wikipedia.org/wiki/Favicon] 的文章
? 版權所有 2013, Armin Ronacher.
- 歡迎使用 Flask
- 前言
- 給有經驗程序員的前言
- 安裝
- 快速入門
- 教程
- 介紹 Flaskr
- 步驟 0: 創建文件夾
- 步驟 1: 數據庫模式
- 步驟 2: 應用設置代碼
- 步驟 3: 創建數據庫
- 步驟 4: 請求數據庫連接
- 步驟 5: 視圖函數
- 步驟 6: 模板
- 步驟 7: 添加樣式
- 福利: 應用測試
- 模板
- 測試 Flask 應用
- 記錄應用錯誤
- 配置處理
- 信號
- 即插視圖
- 應用上下文
- 請求上下文
- 用藍圖實現模塊化的應用
- Flask 擴展
- 與 Shell 共舞
- Flask 代碼模式
- 大型應用
- 應用程序的工廠函數
- 應用調度
- 使用 URL 處理器
- 部署和分發
- 使用 Fabric 部署
- 在 Flask 中使用 SQLite 3
- 在 Flask 中使用 SQLAlchemy
- 上傳文件
- 緩存
- 視圖裝飾器
- 使用 WTForms 進行表單驗證
- 模板繼承
- 消息閃現
- 用 jQuery 實現 Ajax
- 自定義錯誤頁面
- 延遲加載視圖
- 在 Flask 中使用 MongoKit
- 添加 Favicon
- 數據流
- 延遲請求回調
- 添加 HTTP Method Overrides
- 請求內容校驗碼
- 基于 Celery 的后臺任務
- 部署選擇
- mod_wsgi (Apache)
- 獨立 WSGI 容器
- uWSGI
- FastCGI
- CGI
- 聚沙成塔
- API
- JSON 支持
- Flask 中的設計決策
- HTML/XHTML 常見問題
- 安全注意事項
- Flask 中的 Unicode
- Flask 擴展開發
- Pocoo 風格指引
- Python 3 支持
- 升級到最新版本
- Flask Changelog
- 許可證
- 術語表