在 AWS Django 应用程序上提供静态文件
Serving Static files on AWS Django application
我知道这不是第一次有人问这个问题,所以我先道歉。我已经为此工作了几天,但仍然不知道如何进行。
我按照本教程学习了发球台: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
不幸的是,网站上的静态文件仍然无法加载。
这是我的问题:
假设我想在网络上查看 base.css 文本文件。我会去 www.mysite.com/static/base/base.css 吗?如果不是,URL 会是什么?如果是,为什么在当前设置下它没有出现?
根据 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
编辑的目的是什么?它如何影响静态文件在网站上的服务方式?
你们在加载这些静态文件方面提供的任何帮助都将成为救命稻草。
您的 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)
我知道这不是第一次有人问这个问题,所以我先道歉。我已经为此工作了几天,但仍然不知道如何进行。
我按照本教程学习了发球台: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
不幸的是,网站上的静态文件仍然无法加载。
这是我的问题:
假设我想在网络上查看 base.css 文本文件。我会去 www.mysite.com/static/base/base.css 吗?如果不是,URL 会是什么?如果是,为什么在当前设置下它没有出现?
根据 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
编辑的目的是什么?它如何影响静态文件在网站上的服务方式?
你们在加载这些静态文件方面提供的任何帮助都将成为救命稻草。
您的 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)