2017-08-22 86 views
0

我想將css文件名變成css和壓縮文件後保持不變。全部由Django Compressor 2.1管理。Django Compressor - COMPRESS_CSS_HASHING_METHOD不起作用

的問題是,我得到這樣的文件名與哈希:

1fa59c298fb5.css 

但我想保持原來的文件名,例如:

style.css 

這裏是我的在settings.py Django的配置(1.9.11):

COMPRESS_ENABLED = True 
COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter'] 
COMPRESS_JS_FILTERS = [] 
COMPRESS_CSS_HASHING_METHOD = None 

我不understang爲什麼COMPRESS_CSS_HASHING_METHODNone不起作用。

回答

1

CssAbsoluteFilter將CSS中的相關url轉換爲絕對值。雖然這樣做,它會追加一個哈希到這些URL來幫助緩存清除。該散列由COMPRESS_CSS_HASHING_METHOD確定,並在該設置爲無時忽略。

所以這無關任何文件名都:)在輸出文件通常要散,因爲緩存清除實際上是重要的存在。由於壓縮標籤是最有可能最常用於多個文件,「保持原文件名」就不適用,因爲有包含在有多個文件。

由純粹的機會,現在有一個PR打開,現在使輸出文件名可配置:https://github.com/django-compressor/django-compressor/pull/861/files這可能會在未來幾天合併。您可以使用PR的一個分支,已經,或等待合併,並使用開發分支,或等待發布(這可能需要一段時間:))

+0

我的錯誤,因爲沒有正確地理解設定COMPRESS_CSS_HASHING_METHOD。這個PR是interresting!謝謝。但我認爲它不能解決我的問題。我的目標是獲得編譯和壓縮的較少文件的完整路徑(包括文件名),以便在CKEditor中進行設置。我正準備爲此安裝一些飲料。你有什麼建議嗎 ? – ezawadzki

+1

看着https://github.com/django-compressor/django-compressor/blob/develop/compressor/base.py#L90(它被調用爲所有最終輸出的文件,據我所看到的),得到一個固定的文件名似乎不可能。 – karyon