Django сигналы. Пожалуйста, помогите, как обновить html страницу пользователя при получении сигнала

Добрый день! Я только начал изучать фреймворк Django. У меня есть вопрос. Я никак не могу подключить к серверу отдельное приложение commands, которое запускается через команду python manage.py, которую я сделал. Идея в том, чтобы динамически обновлять страницу. Данные от бота попадают в sqllite и оттуда, когда вы переходите на новую страницу, они анализируются и отображаются. На данный момент данные работают нормально, но я хочу обновлять страницу, на которой находится пользователь или добавлять сообщение при добавлении записи в базу. Пробовал делать через сигналы, но так как есть 2 разных скрипта сервер и бот, то обновление б.д. отображается только в коде или бота, или при перезагрузке страницы.

@receiver(post_save, sender=Message)
def update(created, **kwargs):
    msg = Message.objects.order_by("data")
    obj = msg.latest('data')
    print(obj.user_id)

Я поместил этот код в представление. Сигнальный код.

def messenger_full(request, parameter):
    if request.method == 'POST':
        form = MessageForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect(f'/messenger/{us_id}')
        else:
            pass

    form = MessageForm()
    us_id = parameter
    msg = Message.objects.order_by("data").filter(user_id=us_id)
    obj = msg.latest('data')
    obj.is_read = True
    obj.save()
    username = msg[0].user_info
    img_id = msg[(len(msg) - 1)].img

    return render(request, 'page2/messenger.html',
              {'msg': msg, 'username': username, 'img_id': img_id, 'us_id': us_id, 
              'form': form})

Мой код может быть не особенно коротким и правильным, так как я глуп и все еще изучаю Django. Это идет на мой URL с представлениями, где я затем делаю цикл и помещаю данные из объекта в html-теги

class Command(BaseCommand):
    help = 'TG Bot'

    def handle(self, *args, **options):
         bot = telebot.TeleBot(settings.BOT_KEY)


    @bot.message_handler(content_types=['text'])
         def react_on_msg(message):
             Message.objects.create(
             user_id=int(user_id),
             data=date,
             text=text,
             text_lit=text[0:10],
             user_info=user_name,
             is_answer=is_answer,
             img=img,
             is_read=is_read,
             is_lth_pnch=is_lth_pnc)

Все представления работают отлично, никаких ошибок и т.д. . Но первый код, при сохранении в sqlite идет со стороны бота выводит в консоль бота. При сохранении на стороне сервера выводит в консоль сервера. Но мне нужно, чтобы он выводил непосредственно на сервер и рендерил или перенаправлял.

Подскажите, пожалуйста, можно ли обойтись без websockets, так как я их совсем не понимаю. Может можно привязать сигналы напрямую к серверу? Или как обновлять страницу по событию?

Я очень долго думал над этим вопросом. Не обессудьте, это мой первый проект Django и мой первый пост здесь.

Вернуться на верх