在使用 amazon-s3 时为 django-tinymce 启用静态



Django 1.10 上的网站。无法理解TinyMCE的工作。站点静态数据位于 AWS S3 上。

settings.py

AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = 'orpro-assets'                                
AWS_S3_CUSTOM_DOMAIN = 
'{}.s3.amazonaws.com'.format(AWS_STORAGE_BUCKET_NAME)
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400',}
REGION_NAME = 'us-east-1'
AWS_LOCATION = 'static'
AWS_MEDIA = 'media'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATIC_URL = "https://{}/{}/".format(AWS_S3_CUSTOM_DOMAIN, 
AWS_LOCATION)
AWS_PUBLIC_MEDIA_LOCATION = 'media'
MEDIA_URL = "https://{}/{}/".format(AWS_S3_CUSTOM_DOMAIN, AWS_MEDIA)
DEFAULT_FILE_STORAGE = 'app.storage_backends.MediaStorage'
TINYMCE_DEFAULT_CONFIG = {
    'theme': "lightgray",
    'relative_urls': False}
TINYMCE_JS_ROOT = STATIC_URL + 'tiny_mce'
TINYMCE_JS_URL = STATIC_URL + 'tiny_mce/tiny_mce.js'
TINYMCE_INCLUDE_JQUERY = False

storage_backends.py

from storages.backends.s3boto3 import S3Boto3Storage
class MediaStorage(S3Boto3Storage):
    location = 'media'
    file_overwrite = False

加载主页时,加载结束时会显示链接到文件夹static网站的脚本。模板中没有此类脚本。但启用块的添加: {% block additional_scripts %} {% endblock %}

所有其他静态文件都使用 amazon-s3 正确加载

更新网站以模式启动DEBUG = False

确保设置

文件中的INSTALLED_APPS中有"tinymce"。

完成此操作后,运行python manage.py collectstatic

最新更新