如何从数据库中获取某些内容以显示在django html项目中

时间:2018-10-17 00:28:43

标签: python django django-models django-templates

我正在尝试从数据库中获取报价,以便使用django出现在我的html网页上。它不会出现

我的index.html文件在这里**此网站上的代码将引号括在我的答案周围。在我的程序中它没有引号。除此之外,代码就是它在我的文件中的显示方式。

{%extends 'homepage/layout.html' %}

{% block content %}

{% for quote in quotes %}

<h2>{{quote.body}}</h2>

{% endfor %}

{% endblock %}

这是我的models.py文件:

from django.db import models
class Quote(models.Model):
def __str__(self):
return self.body

这是我的views.py文件:

from django.shortcuts import render
from .models import Quote
def index(request):
quotes = Quote.objects.all()[:1],
context = dict()
context['quotes'] = quotes
return render(request, 'homepage/index.html', context)

运行此命令时,没有任何错误。它只是存储在数据库中的报价,而不显示在屏幕上。

但是当我在index.html文件中运行它时:

{%extends 'homepage/layout.html' %}
{% block content %}
{% for quote in quotes %}
<h2>{{quote}}</h2>
{% endfor %}
{% endblock %}

将报价显示为查询集对象。因此,我知道可以引用该引号,并且我的项目正在连接到数据库。我只是不明白为什么我做的方式行不通。

引述是:“要揭露真相,我们必须在问其他问题之前先问问自己,这是真的吗?-是根据影响实际男女生活的动机,冲动和原则?”

请帮忙吗?

2 个答案:

答案 0 :(得分:0)

您将需要从views.py文件中以下行的末尾删除逗号:

quotes = Quote.objects.all()[:1],

答案 1 :(得分:0)

答案是删除逗号,在“引号= Quote.objects.all()[:1]”中