Muh*_*hir 0 django django-templates django-views
所以我遇到了这个奇怪的事情。我无法在模板中传递数据,除非它在 forloop 中。
例如..我几乎可以在 for 循环内打印一个变量,但在 forloop 之外的东西没有显示出来。
{{listings.make}} <<<< This isn't printing
{% for listing in listings %}
<p>{{listing.make}}</p> <<<< This is printing
{% endfor%}
Run Code Online (Sandbox Code Playgroud)
def search(request):
queryset_list = Vehicle.objects.all()
context = {
'listings': queryset_list
}
return render (request, 'mainapp/new_listing.html', context)
Run Code Online (Sandbox Code Playgroud)
class Vehicle(models.Model):
year = models.CharField(max_length=4, choices=YEAR)
make = models.CharField(max_length=50, default="")
model = models.CharField(max_length=50, default="")
version = models.CharField(max_length=50, default="")
description = models.TextField(max_length=50, default="")
def __str__(self):
return self.make
Run Code Online (Sandbox Code Playgroud)
知道实际发生了什么。如您所见,我使用的是基于函数的视图。
谢谢
小智 5
那是因为listings是一个 queryset_list 而不是单个Vehicle;所以它没有make字段。
如果你想访问你的模型的领域,你应该有一个单独的对象。正如您提到的,实现这一目标的一种方法是遍历对象。获取单个对象(仅列表中的第一个)的另一种方法是使用{{ listings.first.make }}.
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |