Как получить изображение из модели профиля - PullRequest
0 голосов
/ 25 февраля 2020

Как я могу получить изображение по ссылке Модель профиля с иностранным пользователем. Я пытался {% for user in users %}{{ user.profile_pic }}{% endfor %} с IMG SR c это не отображать изображение.

class Profile(models.Model):

user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE, null=True, blank=True)

profile_pic = models.ImageField(upload_to='ProfilePicture/', blank=True)

users = User.objects.exclude(id=request.user.id) 

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Сначала вам нужно создать модель профиля и заполнить некоторые данные для модели профиля. затем получите доступ к данным профиля в шаблоне.

это моя модель, сначала проверьте ее

, затем вам нужно выполнить настройки в settings.py для URL-адресов мультимедиа. settings.py settings

теперь создайте базовое c представление для этого views.py

наконец сделайте ваш шаблон таким, как этот base. html

и это мои окончательные результаты окончательный результат фотографий профиля

это мой каталог проектов Изображение папки проекта

если вы все еще не поняли, не стесняйтесь спрашивать Спасибо!

0 голосов
/ 25 февраля 2020

Я больше пользователь фляги / SQLAlchemy, чем пользователь django, но я считаю, что принцип очень похож. Profile - это модель, которая сопоставляется с базой данных, profile_pic - это атрибут, ссылающийся на класс ImageField, и ваш файл шаблона должен иметь вызов не экземпляра ImageField, а атрибута этого экземпляра, который хранит полную расположение файла изображения. Итак, в вашем примере вызов будет выглядеть примерно так:

{% for user in users %}
<img src="{{ user.profile_pic.url }}">
{% endfor %}

Я полагаю, что вы также хотите использовать filter вместо exclude в своем запросе, если я не неправильно понимаю желаемый результат. filter даст вам модель, в которой переменная id соответствует идентификатору текущего пользователя. exclude вернет все остальные, но не текущего пользователя.

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