내 장고 앱을 AWS Elastic Beanstalk (eb 사용)에 성공적으로 배포 할 수있었습니다. 나는 여기서 http://www.youtube.com/watch?v=YJoOnKiSYws과 여기에 http://grigory.ca/2012/09/getting-started-with-django-on-aws-elastic-beanstalk/으로 표시된 단계를 따라 왔으며 S3에 대한 정적 파일 관리를 돕기 위해 django-storages (boto) 프레임 워크를 사용하고 있습니다.로컬 설정에도 불구하고 원격 정적 파일을 사용하는 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 파일을 사용하도록 변경해야합니까?