Django / Python Рендеринг мультимедиа не работает
Может ли кто-нибудь объяснить мне, что здесь происходит? Я могу загружать изображения из панели администратора и фронтенда в папки 'media/company/logo1.png'. все работает, и когда я удаляю папку, она снова создается без проблем.
В процессе разработки я не могу отобразить изображение из админпанели django, так как при нажатии на ссылку изображения для просмотра возвращается сообщение "Not Found Запрашиваемый ресурс не найден на этом сервере." с URL "http://13.59.234.9/media/company/mnmade-logo.png"
# Settings.py
import os
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
# Models.py
class Company(models.Model):
name=models.CharField(max_length=100, null=False, unique=True)
image=models.ImageField(null=True, upload_to="company/")
created_at=models.DateTimeField(auto_now_add=True)
updated_at=models.DateTimeField(auto_now=True)
objects = CompanyManager()
# add for manager validator
class Meta:
ordering = (
'id',
'name',
'image',
'created_at',
'updated_at'
)
def __str__(self):
return self.name
# projects URLS.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('frontend.urls')),
path('reports/', include('reports.urls')),
path('users/', include('users.urls')),
path('company/', include('company.urls')),
path('employees/', include('employees.urls')),
]
urlpatterns += static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
# Views
def manage_admin(request):
if 'admin_id' not in request.session:
return redirect('/signin-company-admin')
company = Company.objects.get(admins=request.session['admin_id'])
context = {
'admin': Admin.objects.get(id=request.session['admin_id']),
'all_admins': Admin.objects.filter(company=request.session['company_id']),
'company': company,
'locations': Location.objects.filter(company=company.id)
}
return render(request, 'manage-admins.html', context)
# App URLS.py
path('manage/admin', views.manage_admin),
# HTML
<img class="img-fluid" src="{{ company.image.url }}" alt="{{ company.name }}" />
Рендеринг изображения работает на моем локальном репозитории, на aws я не могу решить эту проблему.