zoukankan      html  css  js  c++  java
  • 网站标题前的小logo

    原因:每个浏览器访问服务器的时候会自动发送一个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/

  • 相关阅读:
    Bluetooth GATT介绍
    Bluetooth ATT介绍
    Bluetooth GAP介绍
    Bluetooth Low Energy介绍
    CC2540介绍
    DBus介绍
    802.11 MAC层
    802.11介绍
    Python资料
    Bluedroid之GKI
  • 原文地址:https://www.cnblogs.com/yungiu/p/10228299.html
Copyright © 2011-2022 走看看