Задать вопрос
  • Как подключить 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 (ну или другой проги. Зависит от того, в чем "учить" будут),
    Насчет работы, более чем уверен, что просто кинут ваше "резюме" на один из фриланс-сайтов или сайтов по поиску сотрудников и все. А дальше "ваши проблемы"
    Ответ написан
    Комментировать
  • Как сделать сайт с курсом?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Нужно ли для этого становится бэкенд-разработчиком

    Ну, если вас/клиента устроит статический сайт, то текст/медиаконтент можно вставить напрямую в вёрстку или использовать конструктор сайтов.
    Либо использовать moodle (движок для курсов). Сильно не тестил, но вроде достаточно просто "развернуть" на хостинге а дальше настраивать в админке.
    Если хотите свое и "по-серьезному" то да, бекэнд нужен. Знаете java - spring boot в помощь.
    Сколько займет зависит только от того, насколько хорошо знаете java и сколько времени готовы уделить обучению.
    Ответ написан
  • Как данные из одной таблицы sqlite3 передавать в другую?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Извините конечно, но текущая реализация - чудовищная. Как минимум хранить числовые значения в виде текста - максимально неверный подход (для количества integer, для денежных значений - decimal)
    Чуть более верная структура*:

    Coin:
    • Coin_id:int PK
    • Name:char

    User:
    • User_id:int PK
    • ...

    Flow:
    • Id:int PK
    • Date:datetime
    • Amoung:int
    • Price:decimal
    • Coin_id:int FK->Coin
    • User_id:int FK->User

    Как считать? Делаете выборку по ключу монеты с применением sum() к Flow.amoung.
    * - в зависимости от подробного, ТЗ реализация может отличаться. Здесь лишь приведена абстрактная схема, составленная по вашему общему описанию и с учётом минимальных норм нормализации.
    Ответ написан
    2 комментария
  • Как понять какие параметры вставлять в post запрос?

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

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Для начала - выучить азы pyhon.
    def generator():
        pass
    gen = generator()

    Смысл объявления пустой функции?

    gen = (s(k)/4 for k in range(10)):
    Во-первых, конструкция вида [литерал]([аргументы]) всегда будут восприниматься как вызов функции с названием [литерал] аргументами [аргументы]. А объявленой функции с именем s у вас нет.
    Далее непонятно, зачем у вас двоеточие и print(next(gen)) с отступом.
    И к тому-же, next(gen) не будет работать, т.к. generator() ничего не возвращает.
    Если пытались изменить код, то зачем? Судя по шаблону, вам нужно написать генератор в соответствующей функции generator() и уже по нему итерироваться.
    def generator():
        pass
    
    
    gen = generator()
    for _ in range(10):
        print(next(gen))
    Ответ написан
    Комментировать
  • Можно ли объеденить hdd последовательно?

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

    AlexNest
    @AlexNest
    Работаю с Python/Django
    А почитать страницу по первой ссылке слабо?
    Там буквально во втором блоке приведена схема запроса.
    Ответ написан
    Комментировать