Задать вопрос
  • Почему не отображаются данные?

    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
    А почитать страницу по первой ссылке слабо?
    Там буквально во втором блоке приведена схема запроса.
    Ответ написан
    Комментировать
  • Почему тут ошибка?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    1.Почему-бы, перед тем как брать откуда-то код (ну или писать свой, не суть) не почитать пару уроков (или пару глав любого учебника) по языку?
    2.В ошибке, которую вы не показали, кстати, четко написано, почему не работает (и даже сказано в каком конкретно месте ошибка):
    IndentationError: expected an indented block after 'while' statement on line 11

    Перевод, на всякий случай (вдруг вы английский не знаете, а абсолютно все переводчики вас забанили).
    IndentationError: ожидался блок с отступом после оператора while в строке 11

    Возможно я ожидаю слишком многого, но тут вроде-бы даже без знания языка можно понять, что нужно сделать (добавить отступ)
    Ответ написан
    Комментировать
  • Кто-нибудь может подсказать хороший материал и roadmap по Django?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Первые три - можно в любой последовательности. Django в последнюю очередь.
    1. html/css/js
    2. Архитектура бд
    3. python
    4. django
    Ответ написан
    Комментировать