我试图将queryset的一些值放在html模板中。 这是我的html:
<ul class="dropdown-menu">
{% for i in form.filter(university="UPF - Universitat Pompeu Fabra") %}
<li ><a href="#">{{ i.degree }}</a></li>
<li role="separator" class="divider"></li>
{% endfor %}
</ul>
但是当我给页面充电时,它会启动以下错误:
^{pr2}$shell中打印的queryset的值如下所示: enter image description here
My views is the following one:
from .models import Universitys
def index(request):
universitys = Universitys.objects.all()
context = {"form":universitys}
return render(request,"index.html", context)
和型号:
class Universitys(models.Model):
data = models.DateTimeField('date created', auto_now_add=True)
university = models.CharField(max_length=50)
degree = models.CharField(max_length=50)
degreeMark = models.DecimalField(decimal_places=3,max_digits=5)
def __str__(self):
return '%s %s %f' % (self.university, self.degree, self.degreeMark)
如果你能帮我,我会很感激的。在
是的,我理解你给我解释的解决方案,但我需要过滤取决于你选择的大学的学位。由于这个原因,我把视图中的所有对象都传递给可以按我喜欢的方式处理数据库,我不知道在django模板中实现这种操作是不可能的。在
我再解释一遍我的问题,看看你有没有别的解决办法。我通过了帖子中解释的模型,因为我正在为我的应用程序做一个下拉菜单或菜单选择,我需要过滤我以前选择的大学的学位。在
模板如下:
我想一个可能的解决办法是先和大学联系,然后根据选择,做一个对象.过滤器(),并再次将另一个上下文传递给模板。我不确定这个解决方案,可能还有其他方法可以做得更好。。在
Django默认模板引擎不允许在模板内执行此类操作。推荐的方法是在上下文中添加一个上下文变量,并在模板的forloop中使用该变量。比如:
在模板上:
^{pr2}$如果您只使用
degree
字段,那么您可以做的另一件事就是在queryset上只获取这个值。因此,我还将universities
查询集更改为:有关
values_list
的更多信息,请参阅docs相关问题 更多 >
编程相关推荐