配置 Django/Wagtail 媒体以使用 S3
Configuring Django/Wagtail media to use S3
我正在使用以下指南:
在指导您如何 "Configuring Django media to use S3" 的部分。我将其用于 Wagtail。
我不清楚将 "custom_storages.py" 设置放在哪里。我把它放在任何地方似乎都不起作用。我现在又回到了 Whitenoise。
谢谢!
您可以将 custom_storages.py 放在 Python 路径的任何位置。 Django 将尝试使用 STATICFILES_STORAGE 设置的值来查找 class,在示例中为 'custom_storages.StaticStorage'。所以 Django 实际上会 "import custom_storages" 并使用 "custom_storages.StaticStorage" 作为存储 class。只要确保你可以 "import custom_storages" 并且它应该可以工作。
您需要设置 STATICFILES_STORAGE 设置
STATICFILES_STORAGE = 'path/to/custom_storages.StaticStorage'
如果您使用的是鹡鸰(我假设您是这样做的,因为您用它来标记这个问题),您可以将它放在默认的 home/ 目录中并引用它像这样:'home/custom_storages.StaticStorage'
custom_storages.py 的内容在您正在关注的指南中有说明:
# custom_storages.py
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage
class StaticStorage(S3BotoStorage):
location = settings.STATICFILES_LOCATION
编辑:
我有一个 GitHub 存储库(也是一个 wagtail 项目),我在其中使用此代码,但仅用于我的媒体文件。你可以检查一下here。
我正在使用以下指南:
在指导您如何 "Configuring Django media to use S3" 的部分。我将其用于 Wagtail。
我不清楚将 "custom_storages.py" 设置放在哪里。我把它放在任何地方似乎都不起作用。我现在又回到了 Whitenoise。
谢谢!
您可以将 custom_storages.py 放在 Python 路径的任何位置。 Django 将尝试使用 STATICFILES_STORAGE 设置的值来查找 class,在示例中为 'custom_storages.StaticStorage'。所以 Django 实际上会 "import custom_storages" 并使用 "custom_storages.StaticStorage" 作为存储 class。只要确保你可以 "import custom_storages" 并且它应该可以工作。
您需要设置 STATICFILES_STORAGE 设置
STATICFILES_STORAGE = 'path/to/custom_storages.StaticStorage'
如果您使用的是鹡鸰(我假设您是这样做的,因为您用它来标记这个问题),您可以将它放在默认的 home/ 目录中并引用它像这样:'home/custom_storages.StaticStorage'
custom_storages.py 的内容在您正在关注的指南中有说明:
# custom_storages.py
from django.conf import settings
from storages.backends.s3boto import S3BotoStorage
class StaticStorage(S3BotoStorage):
location = settings.STATICFILES_LOCATION
编辑: 我有一个 GitHub 存储库(也是一个 wagtail 项目),我在其中使用此代码,但仅用于我的媒体文件。你可以检查一下here。