Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python DJANGO-上载/管理文件的模板/数据库链接问题_Python_Django_Postgresql - Fatal编程技术网

Python DJANGO-上载/管理文件的模板/数据库链接问题

Python DJANGO-上载/管理文件的模板/数据库链接问题,python,django,postgresql,Python,Django,Postgresql,我有一个网站,几乎准备出版,但我有一个问题,让我疯狂 我在模板中调用上传图像链接的方式有问题 基本上,我有一个模型产品与另一个模型图片附加到产品作为外键。在各个产品页面上,当我更新图像时,一切都按预期进行。但在首页上,我想迭代显示每个集合的第一个图像,它没有更新,而是始终显示上载的第一个图像 据我所知,这一定与我调用URL的方式及其与数据库的关系有关 在产品页面(其工作位置)上: 在产品页面上,我可以直接调用图像模型,因为它只引用特定产品的图像集。但就我所知,在索引上我不能这样做。有办法吗?因此

我有一个网站,几乎准备出版,但我有一个问题,让我疯狂

我在模板中调用上传图像链接的方式有问题

基本上,我有一个模型产品与另一个模型图片附加到产品作为外键。在各个产品页面上,当我更新图像时,一切都按预期进行。但在首页上,我想迭代显示每个集合的第一个图像,它没有更新,而是始终显示上载的第一个图像

据我所知,这一定与我调用URL的方式及其与数据库的关系有关

在产品页面(其工作位置)上:


在产品页面上,我可以直接调用图像模型,因为它只引用特定产品的图像集。但就我所知,在索引上我不能这样做。有办法吗?

因此,事实证明,这很简单,只需通过向图像模型添加一个元类来颠倒图像集的顺序

class Image(models.Model):
    product = models.ForeignKey(Product)
    image = models.ImageField(...)

    class Meta:
        ordering = ['-pk']

代码看起来不错。这句话的意思是什么?它不是在更新,而是总是显示上传的第一张图像??这个
{{product.image\u set.all.0.image.url}
将始终显示列表中每个产品的第一个图像。这就是问题所在。。这是第一张上传的图片。因此,当我第一次制作产品并首次上传图像时,{{product.image_set.all.0.image.url}始终指向该图像。。。但当我更新该图像时,一切都没有改变。@AamirAdnan如果你好奇的话,我找到了一个解决方案,其中包括颠倒模型中图像集的顺序。我在评论中发布了相同的解决方案,然后删除了它,因为你把我弄糊涂了:)更新图像和添加新图像是两回事。@AamirAdnan我看到了你的解决方案,并尝试使用它,但您的模板代码已关闭并不断返回错误。我不能让它工作。我的解决方案基于您的建议和我在reddit上得到的建议。
{% for product in product_list %}
  <img src="{{ product.image_set.all.0.image.url }}">
{% endfor %}
def index(request):
    product_list = Product.objects.all()
    context = {'product_list' : product_list}
    return render(request, 'polls/products.html', context)

def productpage(request, product_id):
    product_list = Product.objects.all()
    product = get_object_or_404(Product, pk=product_id)
    images = product.image_set.all()
    return render(request, 'polls/productpage.html', {'product': product, 'images': images, 'product_list' : product_list})
class Image(models.Model):
    product = models.ForeignKey(Product)
    image = models.ImageField(...)

    class Meta:
        ordering = ['-pk']