Python Django 1.9无法使用{{}将上下文变量传递给模板
我不知道为什么我不能使用上下文传递我的模板,我在线检查,我必须使用上下文处理器并在我的Python Django 1.9无法使用{{}将上下文变量传递给模板,python,django,Python,Django,我不知道为什么我不能使用上下文传递我的模板,我在线检查,我必须使用上下文处理器并在我的settings.py中设置上下文处理器,为什么我不能使用它将上下文从view.py传递到模板。我使用django 1.9 在view.py中: from .models import Product def sellmainpage(request): products=Product.objects.all() context={ 'products'=
settings.py
中设置上下文处理器,为什么我不能使用它将上下文从view.py
传递到模板。我使用django 1.9
在view.py
中:
from .models import Product
def sellmainpage(request):
products=Product.objects.all()
context={
'products'= products
return render(request,'sell.html',context)
在sell.html
中:
{% for product in products}
<span>{{product.name}}</span>
{% endfor %}
{%用于产品中的产品}
{{product.name}
{%endfor%}
如果您的型号是
class Product(models.Model):
product=models.CharField(max_length=200)
companyname=models.ForeignKey(Company)
description=models.TextField()
price=models.DecimalField(decimal_places=2,max_digits=10)
stock=models.IntegerField(default=0)
那么您没有名为name
的字段,可能您想要该字段产品
或公司名称
{% for product in products %}
<span>{{product.product}}</span>
{% endfor %}
不是
如果您坚持使用=
符号,您可以使用dict
context = dict(products=products)
多亏了@DeepSpace comment,您也遇到了这个问题,即缺少结束语%}
{% for product in products %}
^
|__ You missed this %
如果你的模型是
class Product(models.Model):
product=models.CharField(max_length=200)
companyname=models.ForeignKey(Company)
description=models.TextField()
price=models.DecimalField(decimal_places=2,max_digits=10)
stock=models.IntegerField(default=0)
那么您没有名为name
的字段,可能您想要该字段产品
或公司名称
{% for product in products %}
<span>{{product.product}}</span>
{% endfor %}
不是
如果您坚持使用=
符号,您可以使用dict
context = dict(products=products)
多亏了@DeepSpace comment,您也遇到了这个问题,即缺少结束语%}
{% for product in products %}
^
|__ You missed this %
那是你的密码吗?如果是这样,那就不是正确的python语法。它应该是
context={'products':products}
。不知道粘贴时是否有输入错误,但您缺少'%'
:{%for products in products%}
对不起,这些语法错误是输入错误,在我的代码没有语法错误之后。但我仍然无法将上下文传递给Template这是您的代码吗?如果是这样,那就不是正确的python语法。它应该是context={'products':products}
。不知道粘贴时是否有输入错误,但您缺少'%'
:{%for products in products%}
对不起,这些语法错误是输入错误,在我的代码没有语法错误之后。但是我仍然无法将上下文传递给templateOP,因为它还缺少“%”:{%for product in products%}
。也许你想把它添加到你的答案中。对不起,那些语法错误是打字错误,因为我的代码没有语法错误。但我仍然无法将上下文传递给template@BoCao假设产品
型号有一个字段名称
,我觉得代码很好,您会得到什么错误?还要确保您的产品查询集不为空,可以打印len(产品)
@bakkal,是的,我的模型中有产品类。我的模板无法在我的模板中显示产品名称product@bakkal,我跟随你的变化,但它仍然不起作用。我让trey在设置中使用context_processor并创建context_processor.py,它可以工作。但我不知道为什么我不能用这种简单的方法来做,因为itOP也缺少一个“%”:{%for product in products%}
。也许你想把它添加到你的答案中。对不起,那些语法错误是打字错误,因为我的代码没有语法错误。但我仍然无法将上下文传递给template@BoCao假设产品
型号有一个字段名称
,我觉得代码很好,您会得到什么错误?还要确保您的产品查询集不为空,可以打印len(产品)
@bakkal,是的,我的模型中有产品类。我的模板无法在我的模板中显示产品名称product@bakkal,我跟随你的变化,但它仍然不起作用。我让trey在设置中使用context_processor并创建context_processor.py,它可以工作。但我不知道为什么我不能用这个简单的方法来做