def messages_view(request):
    if request.POST:
        form = MessageForm(request.POST, user=request.user)
        if form.is_valid():
            form.save()
            form.post()
            return redirect(reverse('dialogs:chat', kwargs={
                'thread_id': form.get_thread_id()
            }))
    else:
        form = MessageForm()
    thread_list = Thread.objects.filter(
        participants=request.user).order_by("-last_message")

    unread_messages = 0
    for thread in thread_list:
        thread.unread_messages_count = thread.get_user_unread_messages_count(
            request.user)
        unread_messages += thread.unread_messages_count

    return render(request, 'private_messages.html', {
        "thread_list": thread_list,
        'form': form,
        'unread_messages': unread_messages,
    })