簡體   English   中英

Django Compressor,S3和SASS,未上傳已編譯文件

[英]Django Compressor, S3 and SASS, compiled files not uploaded

我正在嘗試使用Amazon s3和SASS設置Django Compressor,但是遇到了這個問題。

因此,這些是django壓縮器的設置:

########## STATIC FILE CONFIGURATION
# See: https://docs.djangoproject.com/en/dev/ref/settings/#static-root
STATIC_ROOT = normpath(join(SITE_ROOT, 'static'))

# See: https://docs.djangoproject.com/en/dev/ref/settings/#static-url
STATIC_URL = '/static/'

# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS
STATICFILES_DIRS = (
    normpath(join(SITE_ROOT, 'assets')),
)
COMPRESS_CSS_FILTERS = [
    #creates absolute urls from relative ones
    'compressor.filters.css_default.CssAbsoluteFilter',
    #css minimizer
    'compressor.filters.cssmin.CSSMinFilter'
]
COMPRESS_OUTPUT_DIR = '' #fixes bug with absolute urls
COMPRESS_PRECOMPILERS = (
    ('text/x-scss', 'sass --scss --compass {infile} {outfile}'),
    ('text/x-sass', 'sass --compass {infile} {outfile}'),
)
DEFAULT_FILE_STORAGE = 'devfest.storage.CachedS3BotoStorage'
STATICFILES_STORAGE = DEFAULT_FILE_STORAGE

AWS_ACCESS_KEY_ID = get_env_setting('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = get_env_setting('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = 'asd'

COMPRESS_OFFLINE = True
COMPRESS_ENABLED = True
COMPRESS_URL = 'https://{}.s3.amazonaws.com/'.format(AWS_STORAGE_BUCKET_NAME)
COMPRESS_ROOT = STATIC_ROOT

這是模板中調用文件的部分

{% compress css %}
<link rel="stylesheet" href="{% static 'css/normalize.css' %}">
<link rel="stylesheet" type="text/x-sass" href="{% static 'css/main.sass' %}">
<link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}">
{% endcompress css %}

問題在於壓縮文件沒有被上傳,因為它們被放置在專用文件夾中(僅資產中的文件被上傳)

» tree static/                                                                                                                                                                                
static/
├── css
│   └── 46086ae5ebb4.css
└── manifest.json

我做錯什么了嗎?

固定方式:

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATICFILES_STORAGE = 'devfest.storage.CachedS3BotoStorage'
COMPRESS_STORAGE = STATICFILES_STORAGE

AWS_ACCESS_KEY_ID = get_env_setting('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = get_env_setting('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = 'asd'
AWS_QUERYSTRING_AUTH = False

COMPRESS_OFFLINE = True
COMPRESS_URL = 'https://{}.s3.amazonaws.com/'.format(AWS_STORAGE_BUCKET_NAME)
COMPRESS_ROOT = STATIC_ROOT

我添加了AWS_QUERYSTRING_AUTH = False,因為它為每次重新加載頁面創建了一個不同的URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM