您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么處理Django中的favicon.ico圖標,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
前言
favicon.ico是網站的圖標也是網站的頭像,簡單來說,就是讓我們的網站更加好看。
本文主要給大家介紹了關于優雅處理Django中favicon.ico圖標的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧
起步
默認情況下,瀏覽器會訪問網站 "/favicon.ico" 這個地址獲取網站的圖標。如果沒有配置的話,Django 會返回一個 404 錯誤。這對于強迫癥的人來說,真的很煩。我們有現有的圖標,且按開發規范一般存放 static/ 下。
網上的方法
網上找了大概兩種處理方式,但都不夠優雅。
方法一:使用重定向
在項目的 urls.py 中添加規則:
from django.urls import path from django.views.generic.base import RedirectView urlpatterns=[ ... path('favicon.ico', RedirectView.as_view(url='static/img/favicon.ico')), ]
這種方式我認為是最不好的一種方式,它會讓瀏覽器產生一個新的請求。
方法二:指定圖標地址
這種方法就是告訴瀏覽器,網站圖片的正確地址,因此需要在模板中的頭部指定:
{% 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 這個地址中解決這個問題。
最優雅的方式
django 有自己的靜態文件的處理方法,那就可以設置 url 規則,返回某個靜態文件的:
from django.contrib.staticfiles.views import serve urlpatterns = [ ... path('favicon.ico', serve, {'path': 'img/favicon.ico'}), ]
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么處理Django中的favicon.ico圖標”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。