Как отобразить содержимое модели Django в HTML шаблон? - PullRequest
0 голосов
/ 29 марта 2019

У меня проблема с отображением контента из модели в Django.Я создал пример модели с одним полем, которое называется "title"

class Post(models.Model):
    title = models.CharField(max_length=100)

    def __str__(self):
          return self.title

Затем я пытаюсь создать функцию в views.py, которая позволяет мне получать объекты из этого поля, созданные в поле администратора Django.Примерно так:

def post_title(request):
    title = Post.objects.all()
    context = {'titles': title}
    return render(request, 'home.html', context)

И я пытаюсь отобразить его в html-файле с помощью шаблона:

{% extends "base.html" %}

{% block content %}
    <div class="container">
        <div class="row">
                <p>{{ titles.title }}</p>

        <div class="row">
            <div class="col col-sm-3">col 2</div>
            <div class="col col-sm-3">col 2</div>
            <div class="col col-sm-3">col 2</div>
            <div class="col col-sm-3">col 2</div>
        </div>
        <div class="row">
            <div class="col col-sm-3">col 3</div>
            <div class="col col-sm-3">col 3</div>
            <div class="col col-sm-3">col 3</div>
            <div class="col col-sm-3">col 3</div>
        </div>
    </div>
{% endblock %}

Я бы хотел добиться отображения однострочного содержимого имени заголовка в html.

1 Ответ

2 голосов
/ 29 марта 2019

Когда вы используете all(), он возвращает QuerySets, который является списком. Вам нужно перебрать его и отобразить.

  {% for title in  titles %}
       <p> {{ title }} </p>
  {% endfor %}

Таким образом, вышеприведенный цикл for будет повторять все ваши элементы в запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...