Страница Django, на которой медиа-картинка отображается из базы данных, загружается медленно
В продакшене страница, на которой я получил медиа картинку, отображаемую из базы данных, загружается медленно, я могу видеть изображение, но оно загружается вечно. Также другие страницы на сайте, где нет медиа, загружаются нормально и быстро.
Я пытаюсь исправить это в течение 2 дней, и я пробовал много вещей, и у меня нет идеи.
Примечание: В процессе разработки медиа-страница загружается нормально
mysite/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main.urls'))
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
models.py
class TestImage(models.Model):
name = models.CharField(max_length=100)
imagelol = models.ImageField(null=False, blank=False)
def __str__(self):
return self.name
views.py
def home(request):
testimage = TestImage.objects.all()
context = {'testimage': testimage}
return render(request, 'main/home.html', context)
home.html
{% for photo in testimage %}
<img class="card-img-top" src="{{photo.imagelol.url}}" alt="Card image cap">
{% endfor %}
settings.py (В разработке)
STATIC_URL = 'static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Итак, моя папка media расположена следующим образом:
В производстве я использую ubuntu и apache
settings.py (В производстве)
STATIC_URL = '/static/'
STATIC_ROOT = '/var/www/mysite/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = '/var/www/mysite/media/'
файл конфигурации апача
<VirtualHost *:80>
ServerName MY-SERVER-IP
ErrorLog ${APACHE_LOG_DIR}/mysite-error.log
CustomLog ${APACHE_LOG_DIR}/mysite-access.log combined
WSGIDaemonProcess mysite processes=2 threads=25 python-path=/var/www/mysite
WSGIProcessGroup mysite
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
Alias /robots.txt /var/www/mysite/static/robots.txt
Alias /favicon.ico /var/www/mysite/static/favicon.ico
Alias /static/ /var/www/mysite/static/
Alias /media/ /var/www/mysite/media/
<Directory /var/www/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
<Directory /var/www/mysite/static>
Require all granted
</Directory>
<Directory /var/www/mysite/media>
Require all granted
</Directory>
</VirtualHost>