• Как отключить Debug в проекте Django Что бы не слитела статика и медиа?

    @korsar182
    Сервить статику можно средствами самого Django
    url.py:
    from django.urls import re_path
    from django.views.static import serve
    from django.conf import settings
    urlpatterns = [
    ...
        re_path(
            r"^api/static/(?P<path>.*)$",
            serve,
            kwargs=dict(document_root=settings.STATIC_ROOT),
        )
    ]
    Ответ написан
    Комментировать
  • Что не так с Wifi адаптером и подключением к сети?

    @Voland69
    Что чат-гопота насоветовала не в курсе, поэтому расскажу со своей колокольни, как надо.
    1. запускаем VirtualBox
    2. подключаем USB WiFi adapter
    3. пробрасываем USB адаптер вирт машине (ЕМНИП можно настроить фильтр машине, чтобы она всегда его забирала)
    4. запускаем на вирт машине Live Ubuntu
    5. проверяем видится ли адаптер lsusb, определил ли его Network Manager, можно ли подключиться к сети
    6. если все ок, то ставим интересующий дистр (с проброшенным, т.е. подключенным адаптером) и проверяем там
    7. если все ок, то радуемся, если не ок - вывод lsusb, ip a сюда в комменты, и разбираемся


    Почему так сложно?
    Задача бьется на две, а точнее три задачи:
    • корректно прокинуть девайс в виртуалку
    • завести его в линуксе в принципе
    • завести его в том конкретном линуксе, который вам нужен


    Почему ставим с подключенным девайсом?
    Так проще, в случае если адаптер требует каких-то дополнительных, возможно проприетарных пакетов, о которых знает установщик, он вам их может поставить и сконфигурировать.

    P.S. на скрине в Available networks видите ваши сети и можете ли подключиться?
    Ответ написан
    4 комментария
  • Как отключить Debug в проекте Django Что бы не слитела статика и медиа?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Настроить статику на раздачу через веб-сервер, как и положено.
    Ответ написан
    2 комментария
  • Почему не работают медиа запросы?

    Prakop
    @Prakop
    Вот что мне помогло, вставить в шапку сайта такой метатег
    <meta name="viewport" content="width=device-width, initial-scale=1">
    Ответ написан
    4 комментария
  • Как вернуть значение из класса?

    Vindicar
    @Vindicar
    RTFM!
    Плохо гуглил. Впрочем, если гуглил по запросу "вернуть значение из класса" (что есть бессмыслица) вместо хотя бы "строковое представление объекта", то неудивительно.
    Ответ написан
    Комментировать
  • Каким образом осуществляется взаимодействие веб-сервера (сайта) и клиента?

    nekipelov
    @nekipelov
    1) Что вообще обозначает синхронность/асинхронность в веб-технологиях?


    То и означает, что работает синхронного или асинхронно. Более расширенный ответ зависит от контекста (вы имели в виду реализацию http сервера, или же реализацию интерфейса, а может быть другое).

    2) Клиент открывает в своем броузере сайт. Что происходит? Создается TCP/IP соединение?


    Например открывает сайт www.ru/dir/page.html:

    1. Браузер должен определить ip адрес соответствующий домену www.ru,
    2. Установить соединение с ip адресом на порт по умолчанию 80.
    3. Сформировать и отправить HTTP запрос (GET /dir/page.html).
    4. Получить ответ и обработать его.

    Если запрос инициирован из JavaScript, ответ передается ему. Если же сам браузер, открывается страничка, если тип ответа html, картинка, если тип ответа картинка, или выполняется javascript код....

    Каким образом сервер знает куда отправить пакет в случае, когда появился новый контент (AJAX)? Он сохраняет информацию (не закрывает?) TCP/IP соединение и использует этот транспорт для общения с клиентом?


    В классическом http сервер сам по себе ничего не отправляет клиенту, только отвечает на запрос с его стороны. Клиент сам время от времени опрашивает сервер на предмет появления новых данных. Зарывается ли соединение или нет зависит от используемого протокола (HTTP 1.1 по умолчанию поддержэивает соединение) и настроек сервера/клиента (есть таймауты, по истечении которых соединение закрывается).

    Есть новомодные технологии, например WebSockets. Все шаги почти такие же, как и для HTTP, но в рамках одного tcp соединения мультиплексируюстя несколько виртуальных соединений. В этом случае WebSockets-сервер может сам инициировать отправку данных клиенут (как и клиент серверу в рамках этого же tcp соединения). Только сервер ничего не узнает, его дело - пересылать байты. Инициирует отправку web приложение, выполняемое на стороне сервера.

    Есть хитрые технологии, например открытие бесконечно длинной страницы в отдельном фрейме. Приложение со стороны сервера не сообщает конечную длинную страницы и браузер скачивает ее пока ему не надоест. В этом случае http сервер просто добавляет данные в отдаваемую страницу по мере необходимости. Однако клиент-серверного взаимодействия тут не получится, как в случае WebSockets.

    3) Сохраняется ли это соединение активным пока клиент не закроет вкладку с этим сайтом в своем броузере? А если клиент открыл вкладку с сайтом и на N часов ушел пить чай, то в этом случае все эти N часов сервер должен обслуживать это соединение? Насколько это требовательно к рессурсам? Если клиент открыл N вкладок с N сайтами в своем броузере, означае ли это что открыто N TCP/IP соединений? Какие есть ограничения на количество таких соединений для клиента и для сервера?


    Все зависит от того, как сделаны приложения со стороны сервера и со стороны клиента. В общем случае, для чата, в случае WebSockets устанавливается только одно соединение, которое не закрывается. В случае HTTP одно поддерживаемое с бесконечной страницей (хотя его надо время от времени переоткрывать) и по соединению на каждый запрос со стороны клиента (будет ли тут открываться новое соединение или работа продолжится в рамках уже установленного, лучше спрашивать у гадалок, у них больше опыта в подобных делах).

    4) На каких технологиях реализуют чаты?


    Лучше всего подходят WebSockets и бесконечные фреймы. При этом WebSockets могут быть использованы как в родной реализации для браузера, так и с помощью flash плагина, в случае отсутсвия родной поддержи. Хотя никто не мешает сделать это с помощью опроса (long polling).

    Наверное проще всего использовать что-то вроде socket.io, а уж оно само выяснит и решит, каким образом можно взаимодействовать с сервером.

    PS: Конечно же это далеко не полная информация, уж слишком серьезная тема затронута.
    Ответ написан
    3 комментария
  • Как сделать отправление сообщений через потоки?

    @igor6130
    Вы решили потоки и асинхронщину смешать? Удачи вам.

    Ошибка связана с тем, что вы пытаетесь вызывать метод MessageMethods.send_message как синхронный.
    Ответ написан
    Комментировать
  • Как вивести на экран камеру?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    var video = document.querySelector('video');

    У вас в body нет ни одного тега video, соответственно с помощью querySelector не находится ничего, переменная video равна null, и дальше все ломается. Добавьте тег video и все заработает.
    Ответ написан
    1 комментарий
  • Как сделать так что бы сайт спрашивал у пользователя доступ к камере?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    navigator.mediaDevices.getUserMedia({video: true})
    https://developer.mozilla.org/ru/docs/Web/API/Medi...

    Браузер сам запросит разрешение, когда Вы запросите камеру
    Ответ написан
    Комментировать
  • Когда в рамке находится фото и текст, текст себя старанно ведет?

    @slide13
    frontend/web-developer
    Самый старый и простой метод - float:
    .tab img {
        height: 200px;
        float: left;
    }

    Но лучше tab сделать флекс контейнером и потом уже позиционировать внутри элементы как угодно, но в данном случае больше ничего и не нужно:

    .tab {
        outline: 5px solid red;
        width: 80%;
        height: 200px;
        margin-bottom: 10px;
        display: flex;
    }
    Ответ написан
    1 комментарий
  • Как сделать такую кнопку?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Жму руку дизайнеру, молодец, не как у всех.

    Прямо так, как на скриншоте, на чистом CSS вряд ли получится, ибо левый нижний угол строго вертикальный, а вот правый... вообще с трудом такую фигуру представляю в реальности, поэтому вариант с трансформацией средствами браузера тут отпадает.

    Изначально я не обратил внимания, что нижний край строго горизонтальный, и накидал такое как стартовую точку



    Но когда заметил - понял, что так в принципе не выйдет сделать, на CSS нельзя "зафиксировать от трансформации" две стороны сразу.

    Так что остаётся вариант с фоновой SVG-шкой, что по сути "фоновая картинка", либо вариант со вставкой этой SVG напрямую в кнопку (прям инлайном) и дальнейшие манипуляции с ней, если требуется адекватный ховер.

    Делать лень, это нетрудно :)
    Ответ написан
    2 комментария
  • Не генерируетса qrcode как исправить ошибку?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    pip install Pillow
    Ответ написан
    Комментировать