Я расширил базового пользователя из Django с помощью метода OneToOne.
class Employee(models.Model):
user = models.OneToOneField(User, on_delete = models.CASCADE)
floor = models.CharField(max_length = 100)
avatar = models.ImageField(upload_to='userimages')
Изображение загружается в media/userimages.
Сейчас при попытке показать аватарку пробую вот так, а он ничего не показывает.
<img src="media/{{ user.employee.avatar.url }}" alt="">
Если я просто выведу user.employee.avatar.url, я получу:
'media/userimages/name.jpg'
Изображение есть в этой папке, но его нет на сайте.
Я действительно не могу понять, почему это не работает. Любая помощь приветствуется.
{% static %}
вам необходимо сначала{% load static %}
. - person Adam Barnes   schedule 28.02.2018app
? Если это так, вам нужно удалитьapp/static
и просто использоватьuserimages
в качестве значенияupload_to
. Также проверьте настройки Django, что установлен правильный MEDIA_ROOT. Я не уверен, что вы хотите загружать фотографии пользователей в статический каталог, потому что безопасность. Если это так, вам может потребоваться подкласс FileSystemStorage, чтобы сделать это. Подробнее о том, что делает upload_to< /а> - person Oluwafemi Sule   schedule 28.02.2018MEDIA_ROOT
в настройках Django? - person Oluwafemi Sule   schedule 02.03.2018MEDIA_ROOT
должно быть'/media'
, чтобы соответствоватьuser.employee.avatar.url
- person Oluwafemi Sule   schedule 02.03.2018