最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

總結(jié)

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

相關文章

  • Python的NLTK模塊詳細介紹與實戰(zhàn)案例

    Python的NLTK模塊詳細介紹與實戰(zhàn)案例

    自然語言處理庫NLTK在Python中的應用廣泛,提供了分詞、詞性標注、句法分析等多種功能,本文介紹了NLTK的核心功能、基本概念以及通過具體實戰(zhàn)案例(如文本分詞、去除停用詞、詞干提取等)展示了其在NLP任務中的實際應用
    2024-09-09
  • 在keras里面實現(xiàn)計算f1-score的代碼

    在keras里面實現(xiàn)計算f1-score的代碼

    這篇文章主要介紹了在keras里面實現(xiàn)計算f1-score的代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python 實現(xiàn)的截屏工具

    python 實現(xiàn)的截屏工具

    這篇文章主要介紹了python 如何實現(xiàn)一個截屏工具,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-05-05
  • Python Threading 線程/互斥鎖/死鎖/GIL鎖

    Python Threading 線程/互斥鎖/死鎖/GIL鎖

    這篇文章主要介紹了Python Threading 線程/互斥鎖/死鎖/GIL鎖的相關知識,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python中if及if-else如何使用

    python中if及if-else如何使用

    在本篇文章里小編給大家整理的是關于python中if及if-else使用方法,需要的朋友們可以參考下。
    2020-06-06
  • Python文件夾與文件的相關操作(推薦)

    Python文件夾與文件的相關操作(推薦)

    下面小編就為大家?guī)硪黄狿ython文件夾與文件的相關操作(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 如何在Pycharm中制作自己的爬蟲代碼模板

    如何在Pycharm中制作自己的爬蟲代碼模板

    當有很多個個網(wǎng)站想要爬時,每個爬蟲的代碼不一樣,但有某種聯(lián)系,這個時候可以抽出一部分通用的代碼制成模板,減少代碼工作量。本文將具體介紹如何實現(xiàn)這一模板,需要的可以參考一下
    2021-12-12
  • Win7 64位下python3.6.5安裝配置圖文教程

    Win7 64位下python3.6.5安裝配置圖文教程

    這篇文章主要為大家詳細介紹了Win7 64位下python3.6.5安裝配置的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • pandas之query方法和sample隨機抽樣操作

    pandas之query方法和sample隨機抽樣操作

    這篇文章主要介紹了pandas之query方法和sample隨機抽樣操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 用python實現(xiàn)學生管理系統(tǒng)

    用python實現(xiàn)學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了用python實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07

最新評論

靖西县| 怀安县| 庄浪县| 明溪县| 武定县| 札达县| 贵阳市| 邓州市| 房产| 武宣县| 延安市| 都江堰市| 平和县| 庆阳市| 麻江县| 秀山| 芜湖市| 奈曼旗| 团风县| 凉山| 石门县| 巴楚县| 华池县| 兖州市| 林口县| 斗六市| 迁安市| 普兰店市| 原平市| 来凤县| 衡阳市| 巴马| 龙山县| 屯留县| 永福县| 额济纳旗| 岫岩| 张家界市| 洛隆县| 连城县| 峨边|