0

管理员 - 富文本字段

这在本地开发中托管我的静态文件时有效。现在我在我的 Dokku 服务器上托管存储在 DigitalOcean Spaces 中的静态和媒体文件。

我在我的模型中使用 django-ckeditor 作为 RichTextfield

class Resume(models.Model):
headline = models.CharField(verbose_name='Headline', max_length=120)
about = RichTextField(verbose_name='About Me')
user = models.ForeignKey(get_user_model(), on_delete=models.PROTECT)
created_at = models.DateTimeField(auto_now_add=True, verbose_name='Created At')
modified_at = models.DateTimeField(auto_now=True, verbose_name='Modified At', null=True, blank=True)

在我的 settings.py 中,我认为我已经定义了 Django-storages 运行所需的更多内容。不确定是否需要定义 AWS_QUERYSTRING_AUTH。尝试了两种方法,然后决定让我的存储桶对公众可读

AWS_ACCESS_KEY_ID = os.getenv('SPACES_ACCESS_KEY_ID')  # access key
AWS_SECRET_ACCESS_KEY = os.getenv('SPACES_SECRET_ACCESS_KEY')  # secret
AWS_STORAGE_BUCKET_NAME = os.getenv('SPACES_BUCKET_NAME')
AWS_S3_REGION_NAME = 'sfo3'
AWS_S3_ENDPOINT_URL = f'https://{AWS_S3_REGION_NAME}.digitaloceanspaces.com'
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}
AWS_DEFAULT_ACL = 'public-read'
# s3 static settings
STATIC_LOCATION = 'static'
STATIC_URL = f'{AWS_S3_ENDPOINT_URL}/{STATIC_LOCATION}/'
STATICFILES_STORAGE = 'config.custom_storages.StaticStorage'
# s3 public media settings
PUBLIC_MEDIA_LOCATION = 'media'
MEDIA_URL = f'{AWS_S3_ENDPOINT_URL}/{PUBLIC_MEDIA_LOCATION}/'
DEFAULT_FILE_STORAGE = 'config.custom_storages.MediaStorage'
AWS_QUERYSTRING_AUTH = False  # ckeditor with AWS

在控制台中,我可以看到在管理页面上没有加载 2 个资源。

  • 配置.js
  • en.js

两者都来自 ckeditor/ckeditor 文件夹,还有许多其他脚本可以从同一位置成功加载。我检查了我的空间文件夹,文件确实存在相同的内容。

DO上的ckeditor文件夹

4

0 回答 0