Я пытаюсь применить цикл for к следующему html (в проекте Django) так, чтобы поля «Имя» и «Комментарии» повторялись в представлении html.
Когда явставьте шаблонный код, то есть:
{% for c in comments %}
{% endfor %}
по обе стороны от содержимого, которое я хочу повторить, это просто приводит к тому, что имя и комментарии полностью исчезают и не дают желаемого результата.
Соответствующие части файла приведены ниже:
index.html (главная HTML-страница)
{% load static %}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="{% static 'guestbook/styles.css' %}">
</head>
<body>
<h1>The world's guestbook</h1>
<p><a href="{% url 'sign' %}">Sign </a>the guestbook</p>
{% for c in comments %}
<h2>Name</h2>
<p>This the message that the user leaves.</p>
{% endfor %}
</body>
</html>
views.py (в гостевой книге)приложение)
from django.shortcuts import render
from .models import Comment
# Create your views here.
def index(request):
comments = Comment.objects.order_by('-date_added')
context ={'comments': comments}
#name=Name.objects.order_by('-date_added')
return render(request,'guestbook/index.html')
def sign(request):
return render(request,'guestbook/sign.html')
файл models.py
from django.db import models
from django.utils import timezone
# Create your models here.
class Comment(models.Model):
name=models.CharField(max_length=20)
comment=models.TextField()
date_added=models.DateTimeField(default=timezone.now)
def __str__(self):
return self.name
Я работаю над учебником, в котором это рекомендуемый код и желаемый результаткак и ожидалось - я заметил, что мой HTML-шаблон не имеет тегов div и задаюсь вопросом, может ли это быть проблемой?Если да, то как это можно решить?