在AWS Django应用程序上提供静态文件

问题描述 投票:0回答:1

我知道这不是第一次问这个问题,因此我在前面表示歉意。我已经为此工作了几天,但仍然不知道如何进行。

我遵循了本教程的发球台:https://aws.amazon.com/getting-started/hands-on/deploy-python-application/

该网站已启动并正在运行,但是当然不会加载静态文件。

我在这里。在settings.py中,我已将STATIC_ROOT和STATIC_URL设置为以下值:

STATIC_ROOT = os.path.join(BASE_DIR, 'mysite', 'static')
STATIC_URL = '/static/'

我运行了collectstatic,并将我所有的静态文件收集到mysite应用程序目录中。看起来像这样:

-mysite
 - mysite (app)
   - static
     - base
       - base.css
   - settings.py
   - urls.py
   - wsgi.py

遗憾的是,静态文件仍然无法在网站上加载。

这是我的问题:

  1. 假设我想在网络上查看base.css文本文件。我会去www.mysite.com/static/base/base.css吗?如果没有,URL是什么?如果是,为什么没有显示当前设置?

  2. 根据AWS教程,我编辑了httpd-app.conf文件以包括以下内容

    Alias /mysite/static /opt/bitnami/apps/django/lib/python3.7/site-packages/Django-2.2.9-py3.7.egg/django/contrib/admin/static

编辑的目的是什么?对静态文件在网站上的投放方式有何影响?

你们在加载这些静态文件时所提供的任何帮助将是救生员。

django amazon-web-services static-files
1个回答
0
投票

您的urls.py文件需要配置为服务于STATIC_URL

urls.py

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

More on serving static files with Django

© www.soinside.com 2019 - 2024. All rights reserved.