如何優(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í),下面話不多說了,來一起看看詳細(xì)的介紹吧
起步
默認(rèn)情況下,瀏覽器會(huì)訪問網(wǎng)站 "/favicon.ico" 這個(gè)地址獲取網(wǎng)站的圖標(biāo)。如果沒有配置的話,Django 會(huì)返回一個(gè) 404 錯(cuò)誤。這對(duì)于強(qiáng)迫癥的人來說,真的很煩。我們有現(xiàn)有的圖標(biāo),且按開發(fā)規(guī)范一般存放 static/ 下。
網(wǎng)上的方法
網(wǎng)上找了大概兩種處理方式,但都不夠優(yōu)雅。
方法一:使用重定向
在項(xiàng)目的 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')), ]
這種方式我認(rèn)為是最不好的一種方式,它會(huì)讓瀏覽器產(chǎn)生一個(gè)新的請(qǐng)求。
方法二:指定圖標(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 這個(gè)地址中解決這個(gè)問題。
最優(yōu)雅的方式
django 有自己的靜態(tài)文件的處理方法,那就可以設(shè)置 url 規(guī)則,返回某個(gè)靜態(tài)文件的:
from django.contrib.staticfiles.views import serve urlpatterns = [ ... path('favicon.ico', serve, {'path': 'img/favicon.ico'}), ]
從根本上解決還不反彈,很棒,很好很強(qiáng)大。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python通過屬性手段實(shí)現(xiàn)只允許調(diào)用一次的示例講解
下面小編就為大家分享一篇Python通過屬性手段實(shí)現(xiàn)只允許調(diào)用一次的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python實(shí)現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾的方法,涉及Python針對(duì)目錄及文件的刪除技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07本地文件上傳到七牛云服務(wù)器示例(七牛云存儲(chǔ))
這篇文章主要介紹了使用PYTHON把本地文件上傳到七牛云服務(wù)的方法,開發(fā)環(huán)境是Python 2.7,大家參考使用吧2014-01-01基于python解線性矩陣方程(numpy中的matrix類)
這篇文章主要介紹了基于python解線性矩陣方程(numpy中的matrix類),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-1020行python代碼實(shí)現(xiàn)人臉識(shí)別
這篇文章主要介紹了python人臉識(shí)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Django ValuesQuerySet轉(zhuǎn)json方式
這篇文章主要介紹了Django ValuesQuerySet轉(zhuǎn)json方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03