Задать вопрос
  • Проблема с Python. Модуль pywebio. Поможете исправить ошибку?

    @Hichnick
    Привет!
    Основные проблемы в коде связаны с несколькими моментами:
    1. Неправильное изменение строки:
    Вы пишете выражения вида
    frty[1] == "0"
    Это не присваивание, а операция сравнения. При этом строки в Python неизменяемы, и даже если бы использовался оператор присваивания (например, frty[1] = "0"), это вызвало бы ошибку. Если вам нужно изменить строку, создайте новую. Например, если строка имеет фиксированную длину, можно сделать так:
    frty = frty[:1] + "0" + frty[2:]
    или, что зачастую удобнее, хранить строку в виде списка символов, изменять нужный элемент, а затем объединять список в строку.

    2. Неверное обращение к данным, полученным из input_group:
    Функция input_group возвращает словарь, например:
    data = {'msg': '1о', 'cmd': 'Отправить'}
    Поэтому проверять ввод нужно по ключу (например, if data['msg'] == '1о':), а не сравнивать весь словарь со строкой.

    Возможно, потребуется поправить форматирование и отступы (например, строка global chatmsgs должна быть с отступом внутри функции).
    Ответ написан
    Комментировать
  • Как правилньно настроить nginx для отображения статики из бэка?

    @Hichnick
    Попробуйте следующую конфигурацию nginx для статики, которая находится на бэкенде:
    server {
        listen 80;
        server_name yourdomain.com;
    
        # Отдача статики, загруженной на бек
        location /static/ {
            alias /полный/путь/до/backend/static/;
            try_files $uri $uri/ =404;
        }
    
        # Проксирование остальных запросов (например, на фронтенд NextJS)
        location / {
            proxy_pass http://127.0.0.1:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }


    Если после такой настройки проблема сохраняется, проверьте логи nginx и NestJS — возможно, ошибка 400 генерируется на уровне приложения из-за неверных URL или заголовков запроса.
    Ответ написан
    Комментировать