Задать вопрос
  • AJAX с DJANGO, что можно, а что нет?

    FeNUMe
    @FeNUMe
    Как вы себе представляете перестройку уже загруженного html со стороны сервера? Тут либо ajax-запрос и редактирование блока с помощью js, либо перезагрузка страницы после получения ответа на запрос.
    Данные вам возвращать не нужно, достаточно статуса "успешно/ошибка", ведь логин пользователя у вас уже есть, вы его отправляете для проверки.
    Ответ написан
    Комментировать
  • AJAX с DJANGO, что можно, а что нет?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Следовательно единственный способ - возвращать в ajax запрос данные, к примеру логин пользователя в случае успеха авторизации, и затем в js - форму логина заменить приветствием.

    Это правильный подход.
    Ответ написан
    Комментировать
  • Равны ли два условия?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    1. Чем является условие if start: # Что этов приведенном ниже коде?

    1. В общем виде, выражение вида if variable: по-умолчанию заменяет примерно такую конструкцию:
    if (
        variable is not None  # ни ничего
        and variable is not False  # ни ложь
        and variable != 0  # ни ноль
        and variable != ''  # ни пустая строка
        and variable != []  # ни пустой список
        and variable != {}  # ни пустой словарь
        and variable != tuple()  # ни пустой кортеж
        and variable != set()  # ни пустое множество
    ):

    В лекциях и литературе, это порой называют термином falsy -- логичный набор значений для встроенных типов, которые в выражении if variable: эквивалентны False. В качестве наглядного примера, if my_list: для проверки на пустой список [] писать гораздо удобнее, чем if len(my_list) != 0:.

    В вашем случае, условие if start: исключает срабатывание вложенного кода, как при пустой строке '', так и при None.

    2. Соответственно что передается при вводе пустого Enter?

    2. Передаётся пустая строка '', что затем "присваивается" переменной start. И так как условием выполнения цикла while является start != '', то в данном коде ввод пустой строки является способом выхода из цикла.

    3. Чем является пустая строка, ведь она ни False, ни True, ни None

    3. Пустая строка '' имеет тип str. Однако, см. выше про falsy значения.

    В общем, выражение if start: покрывает и проверку if start != '':, и ряд других проверок, описанных в пункте 1.
    Ответ написан
    5 комментариев
  • Как передать данные массивом в DRF?

    Astrohas
    @Astrohas
    Python/Django Developer
    Ну можете же банальным обойтись
    rating = serializers.SerializerMethodField()
    
    def get_rating(self, profile):
        return [pr.rating for pr in profile.rating.all()]
    Ответ написан
    1 комментарий
  • Python, im stupid. Help. Alarm. Anybody?

    @ar2rsoft
    PHP-developer
    Вам нужно почитать про синтаксис питона
    Ответ написан
  • Почему ошибки в парсер?

    tsarevfs
    @tsarevfs
    C++ developer
    У вас скобки расставлены так, что data = payload является аргументом pages.append.
    Скорее всего он должен попадать в requests.get.
    Ответ написан
    Комментировать
  • Почему здесь не работает наследование?

    @MechanicZelenyy
    Подсказка, подумайте зачем вы пишете self в аргументах метода и зачем нужна функция super.
    Ответ написан
    1 комментарий
  • Почему здесь не работает наследование?

    longclaps
    @longclaps
    почему он не ищет " value" в базовом классе?

    Пора тебе уже узнать о разнице между классом и экземпляром класса.
    Ответ написан
    2 комментария
  • Почему сервер на Docker не справляется с aiohttp запросами?

    zenwalker
    @zenwalker
    0xABADBABE
    1. Если docker на сервере стоит за nginx или другой проксей, там может быть выставлено ограничение на ответ бэкенда (у nginx по умолчанию 30 сек), после чего соединение рвется, а клиент получает 504.

    2. aiohttp применен не к месту, вызываемая здесь https://github.com/rahiel/open_nsfw--/blob/master/... функция classify() — не асинхронная и будет блокировать процесс, до тех пор, пока не завершится. Одним словом, у вас обычное однопоточное приложение, из коробки несколько одновременных запросов такое решение обработать не сможет. Нужно либо запускать несколько контейнеров, с балансировщиком перед ними, либо как-то менять подход, например запускать классификатор в отдельном пулле процессов через loop.run_in_executor() или разнести API и классификатор в разные сервисы, поставив между ними очередь сообщений.
    Ответ написан
    5 комментариев
  • Ошибка KeyError?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    У формы нет начальных значений, поэтому и ключа user в self.initial нет.
    Ответ написан
    6 комментариев
  • Можно ли совместить классы на Python 2.x с классами на Python 3.x в одном приложении?

    @deliro
    Можно ли совместить классы на Python 2.x с классами на Python 3.x в одном приложении

    Можно. Но к чему вопрос?

    Нет, у меня нет никакого проекта который бы я собирался объединять с чем-то

    Спасибо, что сказал, а то мы переживали

    Но если нельзя - то Python для меня один из худших языков, если не самый, учитывая его популярность

    Спасибо, что сказал, а то мы переживали
    Ответ написан
    Комментировать
  • Как правильно вычесть месяц из datetime.now()?

    @MAGistr_MTM
    Учусь программировать
    from datetime import date
    from dateutil.relativedelta import relativedelta
    
    one_month = date.today() + relativedelta(months=-1)

    dateutil
    Ответ написан
    1 комментарий
  • Какой Python фреймворк выбрать для связки с Vue?

    Mi11er
    @Mi11er
    A human...
    Если вам было мало функционала в django, то куда же flask ... он вообще пустой =)
    Django идеально подходит, да и пары вечеров хватит для того чтоб разобраться.
    Ответ написан
    2 комментария
  • Куда вставить таймер Python чтобы работало?

    @mrxor
    Simple is better than complex
    Вам правильно написали в комментарии, что ждать тут бесполезно - скрапи не будет исполнять js.
    По коду - зачем вам таймер из threading, кажется для вашей задачи досточно sleep(5). Но это все равно не поможет, если у вас хтмл изменяется jsом после загрузки - вам нужен селениум.
    Ответ написан
    3 комментария
  • Почему не продаются адаптеры Bluetooth 5.0?

    ValdikSS
    @ValdikSS
    Вокруг спецификаций и версий Bluetooth возникла большая путаница из-за наличия двух несовместимых стандартов под одним брендом, оба из которых широко применяются для разных целей.

    Существует два разных, не совместимых между собой протокола Bluetooth: Bluetooth Classic и Bluetooth Low Energy (LE, он же Bluetooth Smart). Ещё есть третий протокол, Bluetooth High Speed, но он не распространён, и не используется в бытовых устройствах.

    Начиная с Bluetooth 4.0, изменения в спецификации касались преимущественно Bluetooth Low Energy, а Classic-версия получала либо незначительные улучшения, либо не получала их вовсе.

    Список изменений между Bluetooth 4.2 и Bluetooth 5:

    9 CHANGES FROM v4.2 TO 5.0

    9.1 NEW FEATURES

    Several new features are introduced in the Bluetooth Core Specification 5.0 Release. The major areas of improvement are:
    • Slot Availability Mask (SAM)
    • 2 Msym/s PHY for LE
    • LE Long Range
    • High Duty Cycle Non-Connectable Advertising
    • LE Advertising Extensions
    • LE Channel Selection Algorithm #2
    9.1.1 Features Added in CSA5 — Integrated in v5.0
    • Higher Output Power

    Источник: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (страница 291)

    Только одно изменение каснулось Classic-версии в рамках спецификации Bluetooth 5: добавили поддержку технологии Slot Availability Mask (SAM), призванную улучшить разделение радиоэфира. Все остальные изменения затрагивают только Bluetooth LE (и Higher Output Power тоже).

    Все аудиоустройства используют только Bluetooth Classic. Наушники и колонки подключить через Bluetooth Low Energy невозможно: не существует стандарта передачи аудио с использованием LE. Стандарт A2DP, применяемый для передачи высококачественного аудио, работает только через Bluetooth Classic, и аналога в LE ему не существует.

    Вывод — приобретать аудиоустройства с Bluetooth 5 только из-за новой версии протокола бессмысленно. Bluetooth 4.0/4.1/4.2 в контексте передачи аудио будет работать точно так же.
    Если анонс новых наушников упоминает удвоенный радиус работы и уменьшенное энергопотребление благодаря Bluetooth 5, то знайте — они либо сами не разбираются, либо вводят вас в заблуждение. Немудрено, ведь даже производители Bluetooth-чипов в своих анонсах путаются в отличиях новой версии стандарта, а некоторые Bluetooth 5-чипы поддерживают пятую версию только для LE, а для Classic используют 4.2.
    Ответ написан
    1 комментарий
  • Функция возвращает NONE?

    global num

    зло злостное
    Ответ написан
    Комментировать
  • Почему Python не может найти модуль pip3 и pip?

    Xuxicheta
    @Xuxicheta
    инженер
    ээ я вчера только увидел питон, но очевидно же
    apt install python3-pip
    pip3 install html2text

    или python3 -m pip install html2text
    Ответ написан
    2 комментария