Добавление фавикона¶
Фавикон» - это иконка, используемая браузерами для вкладок и закладок. Это помогает выделить ваш сайт и придать ему уникальный бренд.
Часто задаваемый вопрос - как добавить фавикон в приложение Flask. Во-первых, конечно, вам нужен значок. Она должна быть размером 16 × 16 пикселей и в формате файла ICO. Это не требование, а стандарт де-факто, поддерживаемый всеми соответствующими браузерами. Поместите иконку в вашу статическую директорию как favicon.ico
.
Теперь, чтобы заставить браузеры найти ваш значок, правильным способом будет добавить тег ссылки в HTML. Например:
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
Это все, что нужно для большинства браузеров, однако некоторые очень старые браузеры не поддерживают этот стандарт. Старым стандартом де-факто является предоставление этого файла с таким именем в корне сайта. Если ваше приложение не установлено в корневой путь домена, вам нужно настроить веб-сервер так, чтобы он обслуживал иконку в корне, или, если вы не можете этого сделать, вам не повезло. Однако если ваше приложение является корневым, вы можете просто направить перенаправление:
app.add_url_rule('/favicon.ico',
redirect_to=url_for('static', filename='favicon.ico'))
Если вы хотите сохранить дополнительный запрос на перенаправление, вы также можете написать представление, используя 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, и он будет угадан, но мы также можем указать его, чтобы избежать лишнего угадывания, поскольку он всегда будет одним и тем же.
Вышеописанное будет обслуживать иконку через ваше приложение, и если возможно, лучше настроить ваш выделенный веб-сервер для ее обслуживания; обратитесь к документации веб-сервера.
См. также¶
Статья Favicon в Википедии