Django database to html



我遇到了一点麻烦。我正在尝试将数据库中的对象显示到我的 html 网页 我将其设置为:

def index(request):
quotes = Quote.objects.all()[:1]

我导入了模型,我也在使用一个,因为我只想要当前的模型]

render(request, 'homepage/index.html', {"quote": quote})

然后我在索引模板中使用 for 循环,但它不会显示, 我使用

{% block content %}
{% for data in quote %}
<h2>{{data.body}}</h2>
{% endfor %}
{% endblock %}

但我可以单独使用 {{quote}} 并在数据库中获取对象。为了显示任何帮助获取实际正文文本?我没有收到任何错误。什么都没有显示。 在我的 models.py ;我具有带有文本字段的正文。我有

class Quote(models.Model):
body = models.TextField()
def __str__():
return self.body 

我只想显示数据库中的报价。当我去本地主机:8000/管理员。我可以插入报价。我去phpmyadmin,我看到了报价。当我调用对象时,我什至会看到它。我只是无法在 html 中显示它.请帮忙!

**p.s 我在蜂窝设备上输入了这个问题 **

您可能应该使用将返回一个实例或NoneQuote.objects.first()

示例是:

def index(request):
quote = Quote.objects.first()
render(request, homepage/index.html, {“quote”: quote})

然后:

{%block content%}
<h2>{{quote.body}}</h2>
{%endblock%}

试一试!

试试这个。

def index(request):
quotes = Quote.objects.all()[:1]
context = dict()
context['quotes'] = quotes
render(request, 'homepage/index.html', context)

现在在模板中添加以下代码

{% block content %}
{% for quote in quotes %}
<h2>{{quote.body}}</h2>
{% endfor %}
{% endblock content %}

希望这有帮助。

最新更新