Я работаю над проектом Django, и я успешно подключил его к AWS S3 для хранения медиа -файлов. Тем не менее, я не могу загружать изображения через панель администратора Django. Статьи только для текста загружаются нормально, но как только я пытаюсь загрузить изображение, это вызывает проблемы, а загрузка не удается. Я настроил Imagefield в своей модели и настроил хранилище AWS S3, но загрузка изображения все еще не работает. < /P>
class Article(models.Model):
CATEGORY_CHOICES = [
('TECH', 'Technology'),
('PHI', 'Philosophy'),
('SCI', 'Science'),
('CUL', 'Culture'),
('BUS', 'Business'),
]
title = models.CharField(max_length=200)
content = models.TextField()
author = models.CharField(max_length=100)
published_date = models.DateTimeField(default=now)
is_published = models.BooleanField(default=False) # Control publishing status
image = models.ImageField(upload_to='articles/', blank=True, null=True)
is_featured = models.BooleanField(default=False)
category = models.CharField(default= False, max_length=10, choices=CATEGORY_CHOICES)
def __str__(self):
return self.title
< /code>
AWS S3 Разрешения на ведра: я гарантировал, что мое ведро AWS S3 было установлено для обеспечения общественного доступа, и необходимые разрешения для написания объектов. < /p>
STATIC_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.{AWS_S3_REGION_NAME}.amazonaws.com/static/"
MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.{AWS_S3_REGION_NAME}.amazonaws.com/media/"
MEDIA_URL = f"https://{AWS_STORAGE_BUCKET_NAME}.s3.{AWS_S3_REGION_NAME}.amazonaws.com/media/"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': getenv('PGDATABASE'),
'USER': getenv('PGUSER'),
'PASSWORD': getenv('PGPASSWORD'),
'HOST': getenv('PGHOST'),
'PORT': getenv('PGPORT', 5432),
'DISABLE_SERVER_SIDE_CURSORS': True,
}
}
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
< /code>
Устранение неполадок: < /p>
[*] Я подтвердил, что приложение Django имеет доступ к Интернету к AWS S3. /> Я также установил file_upload_max_memory_size в настройках. Не загружать, но контент только текстовый работает нормально. < /p>
Журнал ошибок-следующее: < /p>
File "/opt/venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 129, in __call__
response = response or self.get_response(request)
~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/opt/venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/opt/venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 129, in __call__
response = response or self.get_response(request)
~~~~~~~~~~~~~~~~~^^^^^^^^^
~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/opt/venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/opt/venv/lib/python3.13/site-packages/django/utils/deprecation.py", line 129, in __call__
response = response or self.get_response(request)
~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/opt/venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/opt/venv/lib/python3.13/site-packages/whitenoise/middleware.py", line 123, in __call__
return self.get_response(request)
~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/opt/venv/lib/python3.13/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/opt/venv/lib/python3.13/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = middleware_method(
< /code>
Дополнительная информация: < /p>
База данных: я недавно перенес свой проект Django из локальной базы данных PostgreSQL в NEONDB для хостинга. Эта миграция, кажется, не связана с проблемой загрузки изображения, но потенциально может упомянуть в случае косвенного эффекта.
[*] AWS S3 Область: eu-north-1
Horesh-ntair: django-storages-storages-storages-storages-storgesgesgesgesgesgesgesgesgesgesgesgesgesgesgesgesgesgesgesgresgesgesgesgesgesgesgesgresgesgresgesgresges-storages-storages-storages /> < /ul>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ng-imagefi
Невозможно загрузить изображения в проекте Django на AWS S3, несмотря на настройку Imagefield и Storages ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение