Мне удалось успешно развернуть мое приложение Django для AWS Elastic Beanstalk (используя eb). Я выполнил шаги, изложенные здесь http://www.youtube.com/watch?v=YJoOnKiSYws, а здесь http://grigory.ca/2012/09/getting-started-with-django-on-aws-elastic-beanstalk/ и использую структуру django-storages (boto), чтобы помочь с управлением статическими файлами на S3.Django локальная версия с использованием удаленных статических файлов, несмотря на локальные настройки
У меня есть следующие настройки в моем settings.py:
STATIC_ROOT = os.path.join(
os.path.dirname(
os.path.dirname(
os.path.abspath(__file__))), 'static')
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'access-key'
AWS_SECRET_ACCESS_KEY = 'secret-key'
AWS_STORAGE_BUCKET_NAME = 'bucket-name'
STATIC_URL = '/static/'
STATICFILES_DIRS =()
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
.
.
.
try:
from local_settings import *
except ImportError, e:
pass
и мой LOCAL_SETTINGS.PY имеет следующее:
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
('js', '/blah/blah/static/js'),
('css', '/blah/blah/static/css'),
('images', '/blah/blah/static/images'),
)
В моих шаблонах я использую:
{% load staticfiles %}
<link href="{% static "css/styles.css" %}" rel="stylesheet">
Проблема в том, что при запуске приложения локально он ссылается на мои статические файлы в S3, а не на мои локальные каталоги. Какие параметры мне нужно изменить, чтобы при запуске приложения локально он использовал локальные статические файлы и что, когда он запускается на AWS, он использует файлы S3?