#django #django-models #django-views #django-forms #django-templates
Вопрос:
я хочу показать изображение из model.py
файла в user
приложении, где я загружаю свое изображение.
это user.model.py
файл
model.py
from django.db import models from django.contrib.auth.models import User from PIL import Image class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) image = models.ImageField(default='default.jpg', upload_to = 'profile_pics') def __str__(self): return f'{self.user.username} profile.' def save(self): super().save() img = Image.open(self.image.path) if img.heightgt;300 or img.width gt; 300: img.thumbnail( (300,300) ) img.save(self.image.path)
blog.model.py
(блог-это еще одно приложение) .
это blog.model.py
файл
model.py
from django.db import models from django.utils import timezone from django.contrib.auth.models import User from django.urls import reverse class Post(models.Model): title = models.CharField(max_length=100,help_text="enter within 100 charecter") content = models.TextField() date_posted = models.DateTimeField(default=timezone.now) author = models.ForeignKey(User, on_delete=models.CASCADE) def __str__(self): return self.title # this is for show demo form admin site (if you use this than genarate a button for demo ) def get_absolute_url(self): return reverse('post-detail', kwargs={'pk' : self.pk})
И это мой базовый вид класса, функционирующий в blog
приложении, имя шаблона home.html
которого .
это blog.view.py
файл
view.py
class PostListView(ListView): model = Post template_name = 'blog/home.html' context_object_name = 'posts' ordering = ['-date_posted'] paginate_by = 5 def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['ip'] = self.request.session.get('ip', 0) return context
home.html
Я показываю вам только тег изображения.
{% for post in posts %} lt;img style="height: 80px; width: 80px; float: left;" class=" img-circle account-img " src="{{ post.author.profile.image.url }}"gt; {% endfor %}
То, что я пишу в коде шаблона, это не показывает изображение.
Это мое home.html страница [щелчок]1
Мне нужно показать изображение из user.model.py
файла, где image
находится строка табеля home.html файл. Если вам что-нибудь понадобится, пожалуйста, скажите мне. спасибо….
Комментарии:
1. ИМХО должно быть просто
src="{{ post.author.image.url }}"
2. На первый взгляд ваш код выглядит нормально. Вы дважды проверили, правильно ли сохранены отношения модели? Например, в командной строке вы можете получить post.author.profile.image.url для своих сообщений?