首页 > 解决方案 > 无法在 Django 的网页上显示模板变量

问题描述

我无法将数据库中的数据显示为 HTML。我从序列化程序中得到命令 dict 。

视图.py

 material_class = Material.objects.filter(material_class=user_class.user_class)
 data = MaterialSerializer(material_class, many=True)
 content = {'material':data.data}
 # In *data.data* I am getting this [OrderedDict([('id', '123'),('material','456')]), 
 OrderedDict([('id','345'),('material','789')])]
 return render(request, 'dashboard/dashboard.html',content)

仪表板.html

{% load static %}
{% csrf_token %} 
<!DOCTYPE html>
<html lang="en">
  <head>
    {% block content %} 
    {% for a in content %}
        <p>{{ a }}</p>
    {% endfor %}
    {% endblock %}  
</head>
</html>

标签: pythonhtmldjangodjango-templates

解决方案


在视图的最后一行试试这个。

return render(request, 'dashboard/dashboard.html', {'content': content})

您必须传递值及其键的字典。你只是通过了 OrderedDict。


推荐阅读