[英]Django serving static files
我正在尝试将django安装程序配置为在调试和生产模式下提供静态文件。 我希望在生产模式下使用S3,在调试模式下使用本地安装。 我有以下设置:
COMPRESS_ENABLED = not DEBUG
COMPRESS_PARSER = 'compressor.parser.LxmlParser'
COMPRESS_CSS_FILTERS = ['compressor.filters.cssmin.CSSMinFilter']
COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter']
COMPRESS_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'libs.storages.S3Storage.S3Storage'
AWS_ACCESS_KEY_ID = # Key
AWS_SECRET_ACCESS_KEY = # Secret
AWS_STORAGE_BUCKET_NAME = # Bucket
AWS_QUERYSTRING_AUTH = False
MEDIA_URL = '/media/'
if COMPRESS_ENABLED:
from boto.s3.connection import SubdomainCallingFormat
AWS_S3_CALLING_FORMAT = SubdomainCallingFormat()
COMPRESS_OFFLINE = True
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
# Path for all static files
STATIC_URL = 'https://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_ROOT = STATIC_URL
else:
STATIC_ROOT = path.join(PROJECT_ROOT, '..', 'assets')
STATIC_URL = '/static/'
除了一件我不知道的小事情,我能够使所有工作正常进行。 通常,我的CSS文件的背景网址为/images/logo.png
。 文件夹/images/
在S3中存在,但是对于我的本地文件夹来说,它应该是/static/images/
。 我试图在最后将S3 URL设置为/static/
,但是它不起作用。 我还有什么想念的吗? 如何获取CSS图片网址以重定向到/static/
?
我通读了s3boto.py
的源代码。 您可以设置以下属性:
AWS_LOCATION = "static"
该变量在您的s3中创建一个static
文件夹。 其他属性应为:
STATIC_URL = 'https://%s.s3.amazonaws.com/static/' % AWS_STORAGE_BUCKET_NAME
STATIC_ROOT = STATIC_URL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.