Подсчет количества записей в базе данных: Django - PullRequest
1 голос
/ 21 апреля 2020

Я пытаюсь вывести счетчик количества «подписчиков» в моей базе данных в Django, я нашел счетчик в моем представлении, и затем я думаю, что я правильно использую его в html, но он всегда выводит «есть подписчики» без номера, когда я использую «| length» в html, он всегда выводит 0, поэтому я не уверен, в чем моя ошибка.

views.py

def list_todo_items(request):
    context = {'todo_list' : Todo.objects.all()}
    count = Todo.objects.count()
    context2 = {'count': count}
    # context = {'count': Todo.objects.count()}
    # count = Todo.objects.count()
    return render(request, 'index.html',context,context2)

def insert_todo_item(request: HttpRequest):
    todo = Todo(content=request.POST['content'])
    try:
        todo.full_clean()

    except ValidationError:
        # pymsgbox.alert('ValidationError! Phone number must be entered in the format: +999999999. Up to 15 digits allowed.', 'Title')
        return redirect('/main/list/')

    todo.save()
    return redirect('/main/list/')

def delete_todo_item(request,todo_id):
    todo_to_delete = Todo.objects.get(id=todo_id)
    todo_to_delete.delete()
    return redirect('/main/list/')

index. html

{% for todo in todo_list %}
    <li class="list-group-item"> {{todo.content}}

    <form action="{% url 'delete_todo_item' todo.id %}" method="post" class="float-right d-inline">
        {% csrf_token %}
        {{form.as_p}}
        <button type="submit" class="btn">
            <i class="far fa-trash-alt fa-lg text-danger float-right"></i>
        </button>
    </form>

</li>

<li class="list-group-item">
    <span class="font-italic">There are {{ count }} subscribers.</span>
</li>

{% empty %}
<li class="list-group-item">
     <span class="font-italic">No current subscribers.</span>
</li>
{% endfor %}

1 Ответ

2 голосов
/ 21 апреля 2020

Вы можете передать несколько элементов в один и тот же контекст. Словарь позволяет добавить несколько пар ключ-значение (если ключи являются хэшируемыми и уникальными):

def list_todo_items(request):
    context = {
        <b>'todo_list'</b>: Todo.objects.all(),
        <b>'count'</b>: Todo.objects.count()
    }
    return render(request, 'index.html', <b>context</b>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...