2015-10-15 37 views
0

当Debug = True时,我的静态文件没有问题。我已经阅读了关于https://docs.djangoproject.com/en/1.8/howto/static-files/deployment/的文档,但当Debug = False时仍然无法使其工作。这是我的设置(工作正常时调试=真):Django Elasticbeanstalk:当Debug = False时无法访问静态文件

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

STATIC_URL = 'myapp/static/' 
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),"myapp","static","static-only") 
STATICFILES_DIRS = (
os.path.join(os.path.dirname(BASE_DIR),"myapp","static"),     
) 

我已经编辑配置文件是:

container_commands: 
    collectstatic: 
     command: "myapp/manage.py collectstatic --noinput" 

option_settings: 
    "aws:elasticbeanstalk:application:environment": 
    DJANGO_SETTINGS_MODULE: "myapp.settings" 
    PYTHONPATH: "/opt/python/current/app/myapp:$PYTHONPATH" 
    "aws:elasticbeanstalk:container:python": 
    WSGIPath: "myapp/myapp/wsgi.py" 
    "aws:elasticbeanstalk:container:python:staticfiles": 
    "/static/": "myapp/static/" 

我一直在敲打我的头这一段时间,所以任何帮助将不胜感激!

+0

你运行collectstatic命令,即'蟒蛇manage.py collectstatic' –

+0

查看HTTP: //tumboverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail?rq=1 –

回答

0

我没有直接回答你的问题,除了问你为什么要这样做。最佳做法是将您的静态文件移至S3或理想的CloudFront(或另一个非AWS解决方案)。

使用django -storages-redux(https://github.com/jschneier/django-storages)使用S3的静态文件进行生产。谷歌'django s3静态',你会发现几个博客解释过程。该文档是here

希望这会有所帮助。

+0

This blog loo ks作为一个好的:https://www.caktusgroup.com/blog/2014/11/10/Using-Amazon-S3-to-store-your-Django-sites-static-and-media-files/ – dkarchmer

0

collectstatic命令会收集你的所有静态文件STATIC_ROOT您已设置为“/ PATH/TO/MYAPP /静态/静态只。

所以我怀疑你指出你的静态文件的错误目录中的配置文件

尝试 “/静态/”:? “的myapp /静态/静态唯一的”

相关问题