Python django,以可视形式将对象从数据库获取到模板
我是Django新手,问题是如何以可见的形式将变量从数据库传递到模板。数据库和模型中的信息是通过使用pandas获取CSV文件并创建模型来创建的。在进行了一些搜索之后,我能够向数据库添加一个主键,当使用/admin时,我能够看到数据库中填充了来自CVS文件的信息。现在的问题似乎是传递给模板的是一个对象,而不是一个可见的字符串 在我看来Python django,以可视形式将对象从数据库获取到模板,python,django,pandas,Python,Django,Pandas,我是Django新手,问题是如何以可见的形式将变量从数据库传递到模板。数据库和模型中的信息是通过使用pandas获取CSV文件并创建模型来创建的。在进行了一些搜索之后,我能够向数据库添加一个主键,当使用/admin时,我能够看到数据库中填充了来自CVS文件的信息。现在的问题似乎是传递给模板的是一个对象,而不是一个可见的字符串 在我看来 def newsinspector(request): df=Df.objects.all() return render(request,'bo
def newsinspector(request):
df=Df.objects.all()
return render(request,'boards/the_file.html',{'df':df})
在模板中,我有
<h1>Title: {{ df.Name }}</h1>
<p><strong>My info:</strong> {% for d in df.all %}{{d.name}}{% if not forloop.last %}, {% endif %}{% endfor %}</p>
问题是,我似乎在传递一个对象,而不是一个可以在HTML中使用的字符串。
例如,我得到了一些东西
像
标题:
我的信息:测向对象(0)、测向对象(1)、测向对象(2)、测向对象(3)
我想要的时候我想要
标题:姓名
我的信息:项目1、项目2、项目3等
当我用字符串替换视图('df':df})中的字典时,变量会像我预期的那样在模板html文件中传递和打印
因此,在某个地方我不知道如何将db对象转换为字符串。帮助?这里不太清楚您想要什么。
df
没有名称属性,因为它是一个查询集,即数据库中所有对象的列表
但是在您的循环中,每个d
都有一个name属性。因此您可以执行以下操作:
{% for d in df %}{{ d.name }}{% if not forloop.last %}, {% endif %}{% endfor %}
(或者你也可以做
d.index
,或者你想做的任何事情。)对不起,我应该在帖子中说得更清楚一些。如果我把d.name放在双花括号中,我在html页面上没有得到任何输出。我编辑了这篇文章以使其更清楚。哎呀,仔细看了一下,发现我的name属性在不应该大写的时候大写了。我认为由于Daniels的有益评论,它现在似乎起作用了。
{% for d in df %}{{ d.name }}{% if not forloop.last %}, {% endif %}{% endfor %}