Как нарезать текст в HTML Django? - PullRequest
0 голосов
/ 16 июня 2019

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

для лучшего понимания

<QuerySet [<User: testuser>]>

это то, что я вижу на своей HTML-странице, тогда как я простохочу видеть testuser

мой HTML выглядит примерно так

<p>{{ blogs.all }} blog{{ blogs|pluralize }} </p>

1 Ответ

0 голосов
/ 17 июня 2019

В Django, объект Queryset является результатом запроса и может ссылаться на ноль или более объектов. Сам Queryset предназначен для повторения или агрегирования.

В случае с вашим шаблоном я предполагаю, что blogs предназначен для набора запросов, например Blog.objects.all(). Простое прохождение Blog.objects может иметь смысл, если вы используете больше, чем просто .all, но вы этого не делаете, и, похоже, вы предполагаете, что blogs может быть передано pluralize, в этом случае это должна быть исчисляемая коллекция или число. Поэтому я предлагаю вам убедиться, что значение контекста blogs содержит Blog.objects.all() или что-то еще, что создаст набор запросов.

Так что вместо этого, который, кажется, попытка показать количество блогов ...

<p>{{ blogs.all }} blog{{ blogs|pluralize }} </p>

... попробуйте что-нибудь подобное. Я добавил итерацию по набору запросов, поскольку это, кажется, вызывает у вас некоторую путаницу.

{% with blog_count=blogs.count %}
    <p>{{ blog_count }} blog{{ blog_count|pluralize }}</p>
{% endwith %}

{% for blog in blogs %}
    <p>{{ blog }}</p>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...