我将base_settings.py设置为DEBUG = False
,在我的设置结束时,我有以下代码:
if not DEBUG:
AWS_STORAGE_BUCKET_NAME = 'bucket_name'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL
在我的local_settings.py中,我设置了DEBUG = True
。
设置模块的 init .py文件:
from .base import *
try:
from .local import *
except ImportError:
pass
出于某种原因,在本地工作时,尽管我没有DEBUG设置,它仍然会尝试从S3中提取静态文件。我想的原因是它首先读取基本文件并在实际导入local_settings.py之前测试DEBUG。所以我的问题是:我如何绕过这个,所以s3文件只用于制作?
答案 0 :(得分:1)
假设您在本地有一个.local包,请尝试删除.local导入周围的try / except,看看是否有任何错误被抛出。
另外,如果您将base中的DEBUG设置为TRUE,并设置URL和存储,然后在.locals中将DEBUG设置为false,则需要重置.locals中的URL和存储。
.locals是在导入基础文件后导入的,所以你的行:
if not DEBUG:
...在导入期间评估为TRUE,将所有内容设置为使用S3。