【问题标题】:Django/python images not displayed未显示 Django/python 图像
【发布时间】:2021-11-19 17:16:57
【问题描述】:

我正在尝试在 Django 中显示图像,问题是当我添加 HTML 模板时它不会显示,我尝试了所有组合(例如:{{ cars.image_main.url }}{{ car.image_main.url }})。

如果我删除所有 HTML 表单模板并写 {{ cars.image_main.url }},图像就会显示出来。但是当我放回 HTML 模板并将{{ cars.image_main.url }} 插入代码时,图像确实显示出来了。

models.py:

class Car(models.Model):
    dealer = models.ForeignKey(Dealer, on_delete=models.DO_NOTHING)
    brand = models.CharField(max_length=100)
    CATEGORY = (
        ('New', 'New'),
        ('Used', 'Used')
    )
    category = models.CharField(max_length=50, choices=CATEGORY)
    image_main = models.ImageField(upload_to='images')
    image1 = models.ImageField(upload_to='images', blank=True)
    image2 = models.ImageField(upload_to='images', blank=True)
    image3 = models.ImageField(upload_to='images', blank=True)
    engine = models.CharField(max_length=100, blank=True)
    stock_number = models.IntegerField(blank=True, null=True)
    mpg = models.CharField(max_length=100, blank=True)
    exterior_color = models.CharField(max_length=100, blank=True)
    interior_color = models.CharField(max_length=100, blank=True)
    drivetrain = models.CharField(max_length=100, blank=True)
    mileage = models.IntegerField(blank=True, null=True)
    sold = models.BooleanField(default=False, blank=False)
    
    transmission = models.CharField(max_length=50, blank=True)
    YEAR_CHOICES = [(r, r) for r in range(2005, datetime.date.today().year+1)]
    year = models.IntegerField(
        ('year'), choices=YEAR_CHOICES, default=datetime.datetime.now().year)
    power = models.IntegerField()
    fuel = models.CharField(max_length=50, blank=True)
    price = models.IntegerField()
    description = models.TextField()
    date = models.DateField()
    
    def __str__(self):
        return self.brand
    
    def get_absolute_url(self):
        return reverse('car_detail', kwargs={
            'car_id': self.id
        })

views.py:

def car_detail(request, car_id):
    cars = get_object_or_404(Car, id=car_id)

    context = {
        'cars': cars
    }
    return render(request, 'car_detail.html', context)

car_detail.html:

    <li data-thumb="images/thumbnail1.jpg"> <a href="#"><img src="images/thumbnail1.jpg" alt="" /></a> </li>

【问题讨论】:

  • 在返回之前添加print(context, cars) 并检查您是否得到任何东西。
  • 你能更具体一点吗?我可以显示页面中对象的任何细节,除了图像。
  • 确保在您的 urls.py 中添加 urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  • 我已经有了。

标签: python html django image


【解决方案1】:

试试这个: car_detail.html:

<li data-thumb="images/thumbnail1.jpg"> <a href="#"><img src="{{ cars.image_main.url }}" alt="" /></a> </li>

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 2017-04-29
    • 2013-04-05
    • 2017-04-27
    • 2021-10-12
    • 1970-01-01
    相关资源
    最近更新 更多