分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

网站标题前的小logo

发布时间:2023-09-06 02:29责任编辑:苏小强关键词:暂无标签

原因:每个浏览器访问服务器的时候会自动发送一个GET 请求,地址是:/favicon.ico

如果不处理,则只会在浏览器标题前添加一个文本类的图标 

前提:有现有的图标favicon.ico,且按开发规范存放在‘static/img/下

解决

Flask 框架:

添加一条为/favicon.ico的规则,返回current_app的send_static_file方法,参数为logo的在static下的路径,如:

@index_blu.route(‘/favicon.ico‘)
def get_web_logo():
  return current_app.send_static_file(‘img/favicon.ico‘)

Django 框架:

需要在STATIC_URL 配置下添加一个配置参数
STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static‘),
]

方法一:(使用重定向,会让浏览器产生一个新的请求)(已测)
在urls.py 添加规则:
from django.conf.urls import url
from django.views.generic.base import RedirectView

urlpatterns = [
  ...,
  url(r‘favicon.ico‘, RedirectView.as_view(url=‘static/img/favicon.ico‘)),
]

方法二:(指定图标地址,告诉浏览器,网站logo的正确地址,需要在模板种的头部指定)(待测)
{% load staticfiles %}
<head lang="zh">
<meta charset="UTF-8">
<link rel="shortcut icon" href="{%static " rel="external nofollow" img/favicon.ico" %}" /> <!-- 添加这行 -->
<title></title>
</head>

方法三:(最优雅的方式,Django 有自己的静态文件的处理方法,那就是可以设置url规则,返回某个静态文件的)(已测)
from django.conf.urls import url
from django.contrib.staticfiles.views import serve

urlpatterns = [
  ...,
  url(r‘favicon.ico‘, serve, {‘path‘: ‘img/favicon.ico‘}),
]

参考资料

如何优雅处理 Django 中的 favicon.ico 图标:https://www.hongweipeng.com/index.php/archives/1538/

网站标题前的小logo

原文地址:https://www.cnblogs.com/yungiu/p/10228299.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved