Django - проблема просмотра медиа файлов на странице администратора - PullRequest
0 голосов
/ 21 марта 2020

В моей пользовательской модели у меня есть свойство с именем profilePic. Это установлено для изображения в моей папке media в root моего проекта. Я отображаю profilePic изображение в шаблоне, и оно отображается успешно. Однако на моей странице администратора, когда я щелкаю ссылку, установленную для атрибута profilePic, я получаю сообщение об ошибке 404.

Вот мой models.py :

class User(AbstractUser):
    profilePic = models.ImageField(upload_to='profile_pics/', default='media/default-profile.png')

settings.py :

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

urls.py :

urlpatterns = [
    path('admin/', admin.site.urls),
    path('users/', include('users.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

template :

<!DOCTYPE html>
<html lang="en">
<body>
    <img src="{{ user.profilePic }}"></img>
</body>
</html>

Изображение успешно отображается в браузере, однако в админке, когда я щелкаю путь, который ссылается на файл, я получаю s 404 Page Not Found Error. URL-адрес меняется, когда я щелкаю путь, он тоже меняется http://localhost:8000/media/media/default-profile.png.

В URL-адресе указывается дополнительный /media/. Это может быть связано с тем, что я установил свойство default в атрибуте profilePic, однако, когда я удаляю media/ и начало свойства default, изображение больше не может быть просмотрено в браузере, однако можно посмотреть в админке.

Кто-нибудь знает, почему возникает эта проблема? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...