昨天,我创建了这篇文章:DjangoRestFramework可浏览的api在本地与在服务器上部署时看起来不同?
基本上,当我这样做时python manage.py runserver,这出现了:
但在我将其部署到AWS(eb deploy)之后,这就是我访问网站时看到的内容:
上面帖子的答案提到这是因为我的静态文件丢失了.所以我搜索了如何在AWS上部署静态文件并遇到了这个教程:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-update-应用
"创建一个站点管理员"部分中,它提到的是,为了提供静态文件,我必须先定义STATIC_ROOT中settings.py(所以我做了:STATIC_ROOT = os.path.join(BASE_DIR, "ebdjangoapp/static/")),然后我做了eb deploy.但是,该站点看起来仍然与第二个图像相同(没有静态文件).然后我尝试做python manage.py collectstatic(这创建了静态文件夹,rest_framework里面有目录,包含css文件等),然后又做eb deploy了,但网站stil看起来和第二张图像相同.
为什么静态文件仍未显示?
请注意,我搜索过并发现这篇文章:Django app部署没有加载静态文件,答案是:
"然后,您要为settings.STATIC_ROOT在settings.STATIC_URL经选择的Web服务器,非常普遍的Nginx作为Apache的mod_wsgi的应用程序服务器后面的反向代理."
但我不知道Web服务器(nginx,反向代理,Apache-mod_wsgi)是如何工作的.我有一个我在本地运行的Django应用程序python manage.py runserver,我有AWS弹性beanstalk.我通过这样做将我的Django应用程序部署到AWS eb deploy.我需要采取哪些步骤才能在部署中显示静态文件(假设我不知道如何配置nginx,反向代理等).