如何優(yōu)雅地處理Django中的favicon.ico圖標(biāo)詳解
前言
favicon.ico是網(wǎng)站的圖標(biāo)也是網(wǎng)站的頭像,簡單來說,就是讓我們的網(wǎng)站更加好看。
本文主要給大家介紹了關(guān)于優(yōu)雅處理Django中favicon.ico圖標(biāo)的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細的介紹吧
起步
默認情況下,瀏覽器會訪問網(wǎng)站 "/favicon.ico" 這個地址獲取網(wǎng)站的圖標(biāo)。如果沒有配置的話,Django 會返回一個 404 錯誤。這對于強迫癥的人來說,真的很煩。我們有現(xiàn)有的圖標(biāo),且按開發(fā)規(guī)范一般存放 static/ 下。
網(wǎng)上的方法
網(wǎng)上找了大概兩種處理方式,但都不夠優(yōu)雅。
方法一:使用重定向
在項目的 urls.py 中添加規(guī)則:
from django.urls import path from django.views.generic.base import RedirectView urlpatterns=[ ... path('favicon.ico', RedirectView.as_view(url='static/img/favicon.ico')), ]
這種方式我認為是最不好的一種方式,它會讓瀏覽器產(chǎn)生一個新的請求。
方法二:指定圖標(biāo)地址
這種方法就是告訴瀏覽器,網(wǎng)站圖片的正確地址,因此需要在模板中的頭部指定:
{% load staticfiles %} <head lang="zh"> <meta charset="UTF-8"> <link rel="shortcut icon" href="{%static " rel="external nofollow" img/favicon.ico" %}" /> <!-- 添加這行 --> <title></title> </head>
這種方法也挺好的。但我還是想從 /favicon.ico 這個地址中解決這個問題。
最優(yōu)雅的方式
django 有自己的靜態(tài)文件的處理方法,那就可以設(shè)置 url 規(guī)則,返回某個靜態(tài)文件的:
from django.contrib.staticfiles.views import serve urlpatterns = [ ... path('favicon.ico', serve, {'path': 'img/favicon.ico'}), ]
從根本上解決還不反彈,很棒,很好很強大。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Python通過屬性手段實現(xiàn)只允許調(diào)用一次的示例講解
下面小編就為大家分享一篇Python通過屬性手段實現(xiàn)只允許調(diào)用一次的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python實現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾實例
這篇文章主要介紹了Python實現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾的方法,涉及Python針對目錄及文件的刪除技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07基于python解線性矩陣方程(numpy中的matrix類)
這篇文章主要介紹了基于python解線性矩陣方程(numpy中的matrix類),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10Django ValuesQuerySet轉(zhuǎn)json方式
這篇文章主要介紹了Django ValuesQuerySet轉(zhuǎn)json方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03