gpt4 book ai didi

python - Django 不断返回赋值错误前引用的局部变量 'product'

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:56 27 4
gpt4 key购买 nike

我在我的 Django 模型中存储了一个产品列表,每个产品都附有多个图像作为外键。我试图在我的 django View 中检索所有产品及其各自的图像,以便我可以在屏幕上打印它们。但是,无论我做什么,在分配错误之前,我都会不断获取局部变量“product”引用。

Models.py:
class product(models.Model):
title = models.CharField('', max_length=100, db_index=True)
price = models.CharField('', max_length=100, db_index=True)
description = models.CharField('', max_length=100, db_index=True)

class productimage(models.Model):
product = models.ForeignKey(product, on_delete=models.CASCADE)
product_images = models.FileField(blank=True)


views.py:
from django.shortcuts import render
from selling.models import product
from selling.models import productimage
from django.shortcuts import redirect
from django.template import loader

template = loader.get_template("selling/shop.html")
if product.objects.exists():
products = product.objects.all()
for product in products:
productimages = product.productimage_set.all()
for productimage in productimages:
imageurl = productimage.product_image.url
context = {
"products" : products,
"productimages" : productsimages,
}

最佳答案

我想你忘了导入 View 中的产品。所以像这样更新你的代码:

from .models import product   # use camel case when writing class name

此外,您在 View 中的实现有点复杂(遍历产品和产品图像)。您可以像这样将它们中的大部分移动到模板中:

template = loader.get_template("selling/shop.html")
products = product.objects.all()
if products.exists():
context = {
"products" : products,
}

模板:

{% for product in products %}
{% for product_image in product.productimage_set.all %}
<img src="{{product_image.product_image.url}}">
{% enfor %}
{% endfor %}

关于python - Django 不断返回赋值错误前引用的局部变量 'product',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55780692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com