1
resposta

Pasta de Fotos no S3

Porque criou-se uma pasta de fotos dentro da pasta static e não criou-se uma pasta de media no mesmo diretório ?

1 resposta

Olá, Henrique.

Tudo bem?

No Django, os arquivos estáticos e de mídia são tratados de maneira diferente. Arquivos estáticos (static) são aqueles que não mudam frequentemente e são usados para o funcionamento da interface do usuário, como CSS, JavaScript e imagens usadas no design da aplicação. Já os arquivos de mídia (media) são aqueles carregados pelos usuários, como fotos, vídeos e documentos.

No seu caso específico, parece que a configuração foi feita para que as fotos sejam tratadas como arquivos estáticos. Isso pode ter sido feito para simplificar o processo de coleta e armazenamento desses arquivos no S3, usando a mesma lógica e configuração dos arquivos estáticos.

Aqui está um exemplo prático de como isso foi configurado no settings.py:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.1/howto/static-files/

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'

STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'setup/static')
]

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

# Media

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/media/'

No exemplo acima, você pode ver que tanto STATIC_URL quanto MEDIA_URL são configurados para apontar para diferentes diretórios no S3. No entanto, a pasta de fotos foi colocada dentro de static/ para que seja tratada como um arquivo estático.

Essa abordagem pode ter sido escolhida para facilitar a gestão e o acesso aos arquivos, especialmente se a aplicação não faz uma distinção clara entre arquivos de mídia e estáticos, ou se a quantidade de arquivos de mídia é pequena e pode ser gerida como arquivos estáticos.

Espero ter ajudado e bons estudos!