欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django壓縮靜態(tài)文件的實現(xiàn)方法詳析

 更新時間:2018年08月26日 11:53:15   作者:緣來  
最近在學習Django配置靜態(tài)文件,下面這篇文章主要給大家介紹了關于Django壓縮靜態(tài)文件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧

django靜態(tài)文件配置原理

靜態(tài)文件配置就是為了讓用戶請求時django服務器能找到靜態(tài)文件返回。

首先要理解幾個概念:

  • 媒體文件:用戶上傳的文件
  • 靜態(tài)文件:css,js,image等
  • 開發(fā)環(huán)境:使用django內(nèi)置服務器處理靜態(tài)文件
  • 生產(chǎn)環(huán)境:使用apache2/nginx服務器處理靜態(tài)文件映射

所以在配置時要分清楚開發(fā)環(huán)境還是生產(chǎn)環(huán)境,這個后面會詳細介紹。

下面先介紹一下服務器查找靜態(tài)文件的原理,這樣我們才能更好的配置。

引言

在網(wǎng)站開發(fā)階段,對于靜態(tài)資源文件比如JS,CSS等文件都是未經(jīng)過壓縮合并處理的,這對于訪問量巨大的網(wǎng)站來說不僅浪費帶寬,而且也會影響網(wǎng)站的訪問速度。

django-compressor可以把js/css等靜態(tài)文件壓縮,這樣不僅有利于減少網(wǎng)站的請求次數(shù),還能節(jié)省網(wǎng)絡帶寬。

而這篇文章即是介紹使用如何使用Python的Django框架中的壓縮組件django-compressor!

下面就介紹如何在Django中集成django-compressor!

安裝django-compressor

安裝很簡單,pip安裝下就可以了:

$ pip install django-compressor

然后在'setting'的INSTALLED_APPS中添加

INSTALLED_APPS = [
 #others
 'compressor'
]

setting配置

首先確保django.contrib.staticfiles已經(jīng)包含在INSTALLED_APPS中,django1.6及以上版本是默認包含該app在其中的.

指定STATIC_URL

STATIC_ROOT = os.path.join(SITE_ROOT, 'collectedstatic')
# STATIC_URL是客戶端訪問靜態(tài)資源的根路徑配置 
STATIC_URL = '/static/'
STATICFILES = os.path.join(BASE_DIR, 'static')

配置STATICFILES_FINDERS

默認django會從每個app目錄的static子目錄下查找靜態(tài)文件,因此通常情況下你都是將相關靜態(tài)文件放在各自的app/static目錄下。Django怎么知道從app/static目錄查找靜態(tài)文件呢?Django有個默認配置項STATICFILES_FINDERS:

STATICFILES_FINDERS = (
 'django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
 #other
 'compressor.finders.CompressorFinder',
)

添加django-compressor配置:

Django-Compressor開啟與否取決于DEBUG參數(shù),默認是COMPRESS_ENABLED 與 DEBUG 的值相反。因為 Django-Compressor 的功能本身是用在生產(chǎn)環(huán)境下項目發(fā)布前對靜態(tài)文件壓縮處理的。因此想在開發(fā)階段 (DEBUG=True) 的時候做測試使用,需要手動設置 COMPRESS_ENABLED=True

COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
COMPRESS_CSS_FILTERS = [
 #creates absolute urls from relative ones
 'compressor.filters.css_default.CssAbsoluteFilter',
 #css minimizer
 'compressor.filters.cssmin.CSSMinFilter'
]
COMPRESS_JS_FILTERS = [
 'compressor.filters.jsmin.JSMinFilter'
]

使用

使用也很簡單,模板文件中添加模板標簽 <font color="red">{% load compress %}</font>

下面分別是css和js的使用方式

{% load compress %}
{% compress css %}
<link rel='stylesheet' href='{% static 'blog/css/style.css' %}' type='text/css'/>
{% endcompress %}
{% compress js %}
<script type="text/javascript" src="{% static 'blog/js/jquery-3.1.1.js' %}"></script>
{% endcompress %}

接著先運行命令:

$ python manage.py collectstatic --noinput

所有靜態(tài)資源都將拷貝到STATIC_ROOT指定的目錄中。

然后運行命令:

$ python manage.py compress --force

這樣就會把壓縮后的文件放在 <font color="red">STATIC_ROOT</font> 目錄下面,大功告成!!

每次修改了js、css文件后,都需要重新加載最新的文件到 <font color="red">STATIC_ROOT</font> 目錄下去,因此需要重新運行命令:

$ python manage.py collectstatic --noinput
$ python manage.py compress --force

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Django點贊的實現(xiàn)示例

    Django點贊的實現(xiàn)示例

    本文主要介紹了Django點贊的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 利用pandas按日期做分組運算的操作

    利用pandas按日期做分組運算的操作

    這篇文章主要介紹了利用pandas按日期做分組運算的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 深入學習Python+Opencv常用四種圖像處理操作

    深入學習Python+Opencv常用四種圖像處理操作

    本文主要介紹了深入學習Pytho+OpenCV實現(xiàn)的基本圖像處理操作,例如:改變圖像大小,圖片色彩轉換,圖片模糊等,代碼具有一定的學習價值,感興趣的小伙伴可以關注一下
    2021-11-11
  • Python裝飾器用法實例總結

    Python裝飾器用法實例總結

    這篇文章主要介紹了Python裝飾器用法,結合實例形式總結分析了Python常用裝飾器的概念、功能、使用方法及相關注意事項,需要的朋友可以參考下
    2018-02-02
  • python實現(xiàn)錄音小程序

    python實現(xiàn)錄音小程序

    這篇文章主要為大家詳細介紹了python實現(xiàn)錄音小程序,實現(xiàn)錄音播放功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python中redis查看剩余過期時間及用正則通配符批量刪除key的方法

    python中redis查看剩余過期時間及用正則通配符批量刪除key的方法

    這篇文章主要介紹了python中redis查看剩余過期時間及用正則通配符批量刪除key的方法,需要的朋友可以參考下
    2018-07-07
  • Numpy實現(xiàn)矩陣運算及線性代數(shù)應用

    Numpy實現(xiàn)矩陣運算及線性代數(shù)應用

    這篇文章主要介紹了Numpy實現(xiàn)矩陣運算及線性代數(shù)應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Python+django實現(xiàn)簡單的文件上傳

    Python+django實現(xiàn)簡單的文件上傳

    這篇文章主要為大家詳細介紹了Python+django實現(xiàn)簡單的文件上傳的相關代碼,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 解決Python import .pyd 可能遇到路徑的問題

    解決Python import .pyd 可能遇到路徑的問題

    這篇文章主要介紹了解決Python import .pyd 可能遇到路徑的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python查找目錄下指定擴展名的文件實例

    python查找目錄下指定擴展名的文件實例

    這篇文章主要介紹了python查找目錄下指定擴展名的文件,實例分析了Python文件查詢的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04

最新評論