• Куда можно задеплоить телеграм бота с sqlite?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Бесплатно - никуда (кроме heroku).
    Платно - любой VDS.
    Касательно же heroku - там есть поддержка postgresql. При нормальной структуре кода переписать с sqlite на postgresql относительно просто.
    Ответ написан
    1 комментарий
  • Возможно ли создать операционную систему для игр сделанных на юнити?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Ну, в теории, можно сделать все. При наличии бюджета с 8+ нулями, пары лет, сотни толковых программистов и договоренностей с поставщиками оборудования, которые решатся создать дрова под вашу ось и, разумеется разрабов unity, согласившихся портировать движок на вашу ось (тоже, разумеется за сумму с приличными нулями).
    Ответ написан
    Комментировать
  • Как мне хранить информацию которая принадлежит пользователю?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Очевидно, что добавить внешний ключ к модели юзера.
    Примеров полно в документации, которую и следовало бы почитать новичкам (ну или хотя-бы заглядывать за отдельными моментами).
    Ответ написан
    Комментировать
  • Как в словарь добавить новый элемент по условию?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Проблема в том, что из-за повторных проходов данные затираются.
    Добавьте проверку, что значение accessory пустое.
    goods_dict = [
            {'id': '1', 'goods': 'macbook 16 pro', 'brand': 'Apple'},
             {'id': '2', 'goods': 'ThinkPad X1 Extreme Gen 3', 'brand': 'lenovo'},
             {'id': '3', 'goods': 'XPS 17 9710 Silver', 'brand': 'Dell'}
             ]
    #лист акссесуаров
    add_lists = [
            ['Apple','стилус'],
            ['lenovo','коврик'],
            ['hp','мышь'],
            ['asus','флешка']
           ]
    for item in add_lists:
            item_brand = item[0]
            item_name = item[1]
            print(item_brand)
            print('-',item_name)
            for good in goods_dict:
                    good_brand = good['brand']
                    print('--',good_brand)
                    if not good.get('accessory'):
                            if good_brand == item_brand:
                                    good['accessory'] = item_name
                            else:
                                    good['accessory'] = None
    for good in goods_dict:
            print(good)
    Ответ написан
    Комментировать
  • Как добавить в базу данных SQLite3 id пользователя и введенное им сообщение?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Я бы вам советовал почитать, для начала, что-нибудь по проектированию баз данных и sql.
    Просто такое ощущение, что вы тыкаете наугад, в надежде, что что-то да выйдет. При первом сообщении юзера, полагаю, все проходит нормально. А во второй раз выдает ошибку:
    sqlite3.IntegrityError: UNIQUE constraint failed: test.us_id
    .
    Что значит (относительно вольный перевод).
    sqlite3.IntegrityError: условие "УНИКАЛЬНОЕ значение" не соблюдено: test.us_id
    .
    Слово УНИКАЛЬНОЕ специально написано заглавными. К тому-же, у вас на скриншоте видно, что в графе уникальность стоит "галочка". Следовательно, с такой схемой таблицы, у одного юзера - одно сообщение.
    Ответ написан
    Комментировать
  • Есть код питон. Как исправить?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Для начала отложить ботописательство и изучить python.
    Например, по книге Марк Лутц - Изучаем python. 5-e издание.
    Без знания основ вы, каждый раз как будет выскакивать ошибка, будете бежать в гугл/сюда/на stackowerflow с подобными вопросами.
    Конкретно по вашему вопросу - в указанной книге пятый раздел первого тома полностью посвящен модулям, на отсутствие которого ругается интерпритатор.
    Ответ написан
    Комментировать
  • Как преобразовать список, полученный с базы данных, в словарь?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Возможно.
    Правда не очень понятно, что именно вы хотите сделать.
    Если превратить каждый отдельный кортеж, то напишите функцию такого вида:
    some_dict = {}
    some_dict["letter"] = db_row[0] # db_row - кортеж
    ...
    return some_dict

    После чего пройтись циклом и преобразовать каждый элемент.
    Если же нужно сделать из исходного списка словарь (в полезности и необходимости чего я сильно сомневаюсь), то это должно быть какие-то так:
    some_dict  = {}
    ... # do cycle
    some_dict[cha_index] = cha[cha_index] # cha_index - индекс значения в списке.
    Ответ написан
    Комментировать
  • Как подключить CRM битрикс в бот телеграм?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    0.А оно надо?
    краткие тезисы по п.0

    Просто задайте себе эти вопросы для начала:
    • Действительно ли логика взаимодействия с пользователем настолько сложна, что нужно использовать монструозную (ничего не имею против, но в качестве "бекенда для бота" выглядит слишком тяжеловесно) систему, написанную на другом языке?
    • Не решит ли проблему использование ORM?
    • Если "сервер" все таки нужен (пока-что непонятно зачем), не лучше ли использовать python-решения (django+DRF, например)


    1.Если п.0 не переубедил, то вот, похоже, доки по api битрикса. Вот доки по requests, с помощью которых будете посылать запросы.
    Или отправьте на фриланс где не дорого за задачу возьмут. на кворке желающих не нашлось (

    3.Оно и понятно, с такими-то задачами. Но можете поискать удачи на хабр фриланс
    Ответ написан
  • Как редактировать данные модели через форму?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Добавляйте в форму (в оба вызова) параметр:
    form = RedactInfoUserForm(instance=some_user) # some_user - КОНКРЕТНЫЙ юзер из бд, выбранный по id/логину и т.д.
    Ответ написан
    Комментировать
  • Почему не отображаются данные?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    По какому, конкретно, адресу? Проблема, возможно, в том, что у вас равносильные, с точки зрения парсера урлы:
    urlpatterns = [
        path('<int:cocktail_id>/', by_cocktail_id),
        path('<str:cocktail_name>/', by_cocktail_name),
        path('', index),
    
    
    ]


    И допустим есть урл вида: mysite.ru/1/
    И как django должен это понимать? 1 как строку, 1 как число?
    Для начала, выделите роуты более конкретно. Далее - проверяйте каждый роут отдельно. Есть как минимум несколько "точек внимания": Какие данные приходят? Находит ли django коктейли в базе (print в консоль)? Правильно ли передаются ли данные в шаблон?
    И да, использовать в качестве роута название в чистом виде - сомнительная практика. Как минимум, если в названии есть пробелы, то они заменятся на %20 И тогда в качестве параметра придет что-то вроде:
    имя%20коктейля
    Используйте slug
    Ответ написан
  • Как обработать данные в телеграм боте (телебот)?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Очевидно, что содержимое call.message.text не может быть преобразовано в число.
    Возможно есть лишнее буково-символьное содержание, возможно вообще является неподдерживаемым типом (list/dict, что-то еще (не знаком с конкретно этой либой)). Проверяйте что приходит. Если нужно - выделяйте нужную часть (split/slice или любым другим способом). Если виноват юзер, присылающий непотребства, валидируйте.
    Ответ написан
    Комментировать
  • Как использовать токен авторизации в обычных представлениях?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Никак.
    Стандартные методы Django не знают и не могут знать о том, какими ресурсами оперируют сторонние модули (по крайней мере, без костылей).
    Решение здесь одно - не изобретать велосипед и использовать готовые решения из DRF.
    Если уж так хочется использовать "стандартные" представления - то используйте Function Based Views
    Ответ написан
    1 комментарий
  • Отличие Cron от Celery?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    cron это "функция" linux систем запускать задачи по расписанию. Максимально "примитивная". Сказал ей "дергать [filename].py [каждый день в 6]/[каждые 15 минут]" (условно), она будет это делать.
    celery же это библиотека на python, которая позволяет:
    • делать то-же самое, но непосредственно в коде (что позволяет абстрагироваться от ОС).
    • Добавлять "задачи" в очередь задач, что позволяет выполнить код, не ожидая завершения какого-либо процесса.

    Зачем нужно второе? Например для загрузки больших файлов. Если делать в основном теле вьюхи то велик шанс словить timeout error. Поэтому, основные данные сохраняются в основном теле, а файл загружается в отдельной задаче.
    Также, можно использовать для работы с внешними сервисами, например почтовыми. Тут ситуация примерно такая-же, как и с файлами: хочешь послать email, но сервер долго не отвечает - лови timeout.
    Ответ написан
    Комментировать
  • Как сделать обновление сайта каждые 10 секунд?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Используйте сокеты.
    Они позволяют создавать потоковое соединение между клиентом и сервером, что в свою очередь.
    • позволит серверу в реальном времени сообщать фронту, что нужно обновить данные на странице.
    • уменьшит потребление ресурсов (поддержка одного соединения вместо обработки десятков запросов)
    Ответ написан
    Комментировать
  • Как при создании объекта Юзер в базе данных, создавать другой объект, например Промокод?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    1.Внешние ключи стоит делать от "подчиненных" к "главным" т.е. поскольку промокод принадлежит юзеру, вокруг которого и построена система, то и ключ нужно делать в PromocodeModel.
    2. Не понятно, что делает функция Promo в default=str(Promo(10))
    Как мне при создании этого объекта юзер, создавать еще и объект Промокод, и прописывать этот промокод в подно из полей юзера?

    3. Зачем раздувать базу лишними полями с данными? Продублированный промокод несет какую-то смысловую нагрузку помимо того, что не нужно добавлять поиск по отдельной таблице? Нет? Тогда смело удаляйте одно из мест хранения, т.к. это избыточность данных.
    4. Как создавать?
    В случае, если оставили поле в модели юзера, то просто генерируйте его "по умолчанию" (Предположу, что именно этим default=str(Promo(10)) и занималась)
    В случае с отдельной моделью просто создавайте новый объект как обычно
    Ответ написан
  • Как с помощью библиотек python распознать соответствие жеста руки (рук) человека с первой картинки и человека со второй картинки?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Есть openCV (не только для python), умеющая в компьютерное зрение.
    Минус в том, что это довольно низкоуровневая вещь, которую нужно будет "научить". Однако плюс в том, что у нее большое сообщество и такая тривиальная вещь как распознавание жестов 100% кем-то реализована.
    Ответ написан
    1 комментарий
  • Есть ли сервисы (fake api) для работы с запросами с замоканными ответами?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Если я правильно понял, вам нужны рандомные данные в виде json? Таких сервисов много. Искать по запросу: fake api. Вот пример:
    https://jsonplaceholder.typicode.com/
    Ответ написан
    3 комментария
  • Как подключить сайт написанный на html к базе данных mysql?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    1.Для того-чтобы выводить данные из бд, нужна серверная часть, написанная на одном из языков программирования:
    • php (или фреймворки, но не обязательно)
    • NodeJS
    • Java (фреймворк spting boot)
    • Python (фреймворки django/flask/fastAPI)

    Есть еще несколько, если хотите - загуглите "языки для бекэнда".
    Что с этим делать?
    Для начала - выбираете язык и просто учите, в отрыве от сайтов и т.д. (c php будет сложнее, т.к. он заточен под веб, но даже так - сперва учите основы). Не обязательно выбирать в слепую, можете попробовать несколько, на уровне написать что-то чуть более сложное, чем классическое "hello world!", и тот, что приглянулся больше - выбрать как основной и учить.
    Параллельно изучите sql и архетиктуру БД. Когда поймете, что без ежесекундной подсказки от гугла, можете писать код, начинайте изучать непосредственно веб.
    Ответ написан
    Комментировать
  • Сталкивались ли с подобными объявлениями?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Тут варианта два
    • Лохотрон.
    • Инфоцигане.

    В первом случае - просто кинут на деньги.
    Во втором, скорее всего кинут склепаные на коленке ролики, записанные по гайдам от after effects (ну или другой проги. Зависит от того, в чем "учить" будут),
    Насчет работы, более чем уверен, что просто кинут ваше "резюме" на один из фриланс-сайтов или сайтов по поиску сотрудников и все. А дальше "ваши проблемы"
    Ответ написан
    Комментировать