123456789101112131415161718192021222324252627282930313233 |
- from django.apps import AppConfig
- from django.core import checks
- from .checks import storage_check
- class S3FileConfig(AppConfig):
- name = "s3file"
- verbose_name = "S3File"
- def ready(self):
- from django import forms
- from django.core.files.storage import FileSystemStorage, default_storage
- from storages.backends.s3boto3 import S3Boto3Storage
- from .forms import S3FileInputMixin
- if (
- isinstance(default_storage, (S3Boto3Storage, FileSystemStorage))
- and S3FileInputMixin not in forms.ClearableFileInput.__bases__
- ):
- forms.ClearableFileInput.__bases__ = (
- S3FileInputMixin,
- ) + forms.ClearableFileInput.__bases__
- elif S3FileInputMixin in forms.ClearableFileInput.__bases__:
- forms.ClearableFileInput.__bases__ = tuple(
- cls
- for cls in forms.ClearableFileInput.__bases__
- if cls is not S3FileInputMixin
- )
- checks.register(storage_check, checks.Tags.security, deploy=True)
|