Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 1.9无法使用{{}将上下文变量传递给模板_Python_Django - Fatal编程技术网

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,它可以工作。但我不知道为什么我不能用这个简单的方法来做