покажу на своём простом примере.
.создаём нужную модель:
# models.py
class Violation(models.Model):
rules = models.TextField('Правила')
consequences = models.TextField('Последствия нарушения')
def __str__(self):
return self.rules
class Meta:
verbose_name = 'Нарушение'
verbose_name_plural = 'Нарушения'
потом проводим миграции в терминале:
python manage.py makemigrations
миграции требуются, чтобы джанго создал нужную "сетку" в базе данных, чтобы потом туда созранять данные.
после чего создаём обьекты модели или в панели администратора или через команду в пайтон:
Violation.objects.create(title=title, violations=violations)
объекты будут хранится в базе данных.
в представлении, где мы рендерим страницу, получаем все объекты модели Violation из базы данных и формируем словарь "context " в который передаём ключи с полученными обьектами.(в данном случае передаём объект violations': violations)
# views .py
def rules(request):
# Получаем все объекты модели Violation из базы данных
violations = Violation.objects.all()
# Передаем объекты модели в контекст шаблона
context = {
'title': 'rules',
'violations': violations,
}
return render(request, 'main/rules.html', context)
чтобы переданные объекты обработать в HTML в джанго предусмотрены шаблонные переменные в формате {{ }}
смотрим наш HTML который будет рендерить джанго:
{% extends 'application_in_question/base.html' %}
{% block title %}
{{ title }}
{% endblock %}
{% block content %}
<div class="light_pink_font_color">
<h1><b>Правила и наказания</b></h1>
</div>
<div>
<table class="custom_table">
<thead>
<tr>
<th><b>Правила</b></th>
<th><b>Наказания</b></th>
</tr>
</thead>
<tbody>
{% for violation in violations %}
<tr>
<td>{{ violation.rules }}</td>
<td><b>{{ violation.consequences }}</b></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %}
тут мы видим наш тайтл {{ title }} и цикл for в котором перебираем "предметы" всех обьектов {{ violations }}
{% for violation in violations %}
<tr>
<td>{{ violation.rules }}</td>
<td><b>{{ violation.consequences }}</b></td>
</tr>
{% endfor %}