Задать вопрос
  • Почему Django загружает не все css файлы?

    syschel
    @syschel
    Когда начинал только хтмл учить и работал под виндой, похожую проблему поймал. На локалхосте в коде ссылки на файлы были с заглавной, сами файлы с маленькой. И винда это прощала. А вот когда залил в интернет на линукс хостинг, поймал много печали. Пришлось всё переписывать в коде. Теперь привычка, что всё с маленькой в нейминге файлов. Никаких русских названий. И пробелы заменять нижним_подчёркиванием. Ну и спецсимволы в именах не использовать.
    Написано
  • Какой тайм-трекер выбрать для фрилансера?

    syschel
    @syschel
    Dmitry Bay, я последние несколько лет работал "в офисе", но по сути на удалёнке. Часть на почасовке, часть по "фикс ставке". И вот офису на ставке, проще в разы, чем на трекере. Ибо офисный рабочий может чай пить, общаться в кулуарах, перекуры и собрания всякие. Так же общения по задачам и так далее. У офисного на "ставке", это всё в 8 часовом рабочем дне учтено. А вот когда сидишь на "трекере" и учёт именно работы, то выходит, что за день часа 4 чисто на "кодинг". Даже без трекера, а просто "сколько времени потрачено на задачу?"
    Написано
  • Какой тайм-трекер выбрать для фрилансера?

    syschel
    @syschel
    Dmitry Bay, Спасибо, поправил.
    Да, гарантий нет и заказчик может оспорить. Но это как вариант указывать время вне активности. И таймтрекер не пароноидальный. Хотя и были с апворком курьёзы у коллег. Когда при разработки адал сайтов, сама платформа банила время, за адалт контент. =)
    Написано
  • Какой тайм-трекер выбрать для фрилансера?

    syschel
    @syschel
    Dmitry Roo, Так тут же разговор не про сотрудника офиса на пятидневке, а про фрилансера. Который берёт задачи и их делает, оговаривая время.
    ИМХО, тут или сразу на берегу договариваться как происходит определение времени на задачу (заказчик/исполнитель определяет), или какой будет учёт. А не в процессе исполнителя напрягать.

    З.Ы. На международных биржах работают миллионы фрилансеров и ведут учёт времени почасовых контрактов, через тайм трекеры. И программистов там очень много. Нормально всё с программистскими задачами решается через трекеры. Никто не запрещает, вносить "мануальное время", потраченное на задачу вне активности на ПК. Просто это проговаривается, если есть вопросы. Даже на долгосрочных контрактах, которые длятся годами.
    Написано
  • Какой тайм-трекер выбрать для фрилансера?

    syschel
    @syschel
    Ivan-Sofronov, Видел компании, которые и в офисе ставят следилки за сотрудниками и их активностью (сайты, программы, активность мышки/клавы, скриншоты экрана/вебкамеры).

    З.Ы. Сам когда-то на апворке работал через их тайм-трекер, на почасовых задачах. Ничего плохого не заметил. Раз в 10 минут делается скриншот экрана, в рандомный промежуток времени. Так же палит количество нажатий клавиш и активность мышки. Можно добавить скрин с вебкамеры, но ни разу не включал. Сам включаешь трекер когда начинаешь работать. Сам выбираешь "контракт", по которому собрался работать. Как и задачу (можно самому описать, в милстоуне). Раз в час окно выскакивает, если по одной задаче работаешь и предлагает оставить комментарий или изменить задачу (нужно для разбиение на микро задачи, чтобы понятнее было в "отчёте", что делал). Но можно и не менять, подтвердить прошлое.

    Если вдруг что-то не то на скриншот попало в "десятиминутке", можно тут же в программе его удалить. В принципе когда скрин делался, был звуковой и визуальный сигнал. Уже не помню, но вроде и окно вылазило со скрином и кнопкой "удалить", на секунд 5. Удаляешь скрин, удаляется 10 минут из учётного времени.

    Если форма найма "фикспрайс", а не "почасовое". То тайм трекер можно не использовать. То есть задача оговорена, сумма оговорена и не важно будешь делать 5 минут или 5 дней.

    З.З.Ы. Так же трекер не всегда помогает отследить время "вне активности ПК". К примеру надо на бумажке набросать схемку программы, что-то почиракать/порисовать там. Либо идёт выполнение долгой программы (условно "написать парсер сайта ebay и спарсить список товаров с полным описанием, выбранных продавцов - клиенту нужен этот список". Сам парсер ты пишешь, условно 1ч, а потом парсер шуршит 2 дня, выкачивая 1кк товаров, в обход антипарсеров). Сам же трекер upwork`a, если нет активности на ПК, останавливает таймер через 20 минут. Тут как раз помогает или фикспрайс контракт, или можно ручками добавить "мануальное время" (вне активности у ПК).

    З.З.З.Ы. За термины могу путать, там до ковида работал, много лет прошло. Но ничего плохого в таймтрекере нет. Если он управляем тобой и "заказчик" не сумасшедший параноик.
    Написано
  • Как проверить что пользователь это автор в Django?

    syschel
    @syschel
    Илья Лукьянов, Только второй вариант с ошибкой. Так как сначала выполняется первый кверисет, то есть базовый. И если в базе нет записей. То дальше фильтры не помогут.
    Но даже если там что-то было, то второй кверисет если вернёт пустой список, то и третий шаг пролетит. Так как он будет фильтровать уже пришедший кверисет, который пустой.

    Если он нужен, вернее так:
    def get_queryset(self):
            queryset = super().get_queryset().all( ).annotate(comment_count=Count("comments"))
            
           # Проверяем пользователь авторизованный или нет
            user_queryset = None
            if self.request.user.is_authenticated
                user_queryset =  queryset.filter(author=self.request.user) 
           #  Проверяем что пользовательский список вернул пустоту ИЛИ пользователь не авторизирован
            if not user_queryset or not self.request.user.is_authenticated:  # либо можно так - if not len(user_queryset): 
                queryset = queryset.filter(category__is_published=True, 
                                                  is_published=True,
                                                  pub_date__lte=timezone.now())
           # Если второй иф не сработал, значит нам важен список полученный в первом. 
           # Приравниваем его к основному
            else:
                queryset = user_queryset
            return queryset
    Написано
  • Django.objects.all() не работает, как решить?

    syschel
    @syschel
    Вам же написало, что проблема во 2 строке. Питон не смог произвести импорт класса модели, дальше он не пошёл, упал.
    Написано
  • Как решить проблему с авторизацией Django?

    syschel
    @syschel
    Ar123sj, Это стандартное поле для доступа в дажнго админку.
    Дальше уже идут права работы с админкой. Или полный доступ ко всему через атрибут "is_superuser". Или ограниченный, через пермишены (табличка связей в профиле пользователя, к каким моделям он имеет доступ и на какие действия (смотреть, создавать, удалять, ...)).
    Написано
  • Почему не работает авторизация в Django?

    syschel
    @syschel
    Для начала стоит проверить на джанго админке. Если и туда не пускает, а там не самописная авторизация, то проблема с настройками пользователя. Может забыли модель указать в settings (если юзер кастомный). Или же что-то по полям намудрили
    Написано
  • Один сервер VPS и несколько сайтов каждый в своём docker контейнере, как настроить глобальный nginx?

    syschel
    @syschel Автор вопроса
    Alexey Dmitriev, а эти ip адреса контейнеров, они статичные? То есть, если не переустанавливать контейнеры, а перезапускать их, адреса останутся? Про имена кажется понял, я про них думал, но не был уверен, пойду смотреть в их сторону.
    Извиняюсь если вопросы слишком уж "примитивные".
  • Один сервер VPS и несколько сайтов каждый в своём docker контейнере, как настроить глобальный nginx?

    syschel
    @syschel Автор вопроса
    Уточните пожалуйста.
    Если у меня 5 докер контейнеров, все отвечают по 80 порту.
    Как именно через прокси nginx мне их ловить?

    Как на одном сервере работать с одним сайтом спрятанным в контейнер, проблем с пониманием нет:
    server {
        listen      80;
        server_name www.project1.ru project1.ru;
        location / {
            proxy_pass http://localhost:80;
        }
    }


    Туплю именно на моменте, что на машине много разных сайтов в разных контейнерах крутятся и как именно глобальном nginx их ловить и отдавать под своими доменами.
    Может что-то у самого докера нужно сделать предварительно? Не знаю. Гугл же отдаёт статьи с примерами именно 1 проект на 1 машине.
  • Bitbucket фсе, блокирует российские IP?

    syschel
    @syschel
    Антон Кащеев, Спасибо за уточнение, добавил в ответ.
  • Bitbucket фсе, блокирует российские IP?

    syschel
    @syschel
    Антон Шелестов, Так же как и локально, так же и на сервере в консоли.
    Если же вопрос "как" при текущей проблеме, то подробнее ответил внизу.
    Да, можно впн куда угодно ставить. Тот же OpenVPN ставится в несколько шагов по инструкции с гугла.
  • Bitbucket фсе, блокирует российские IP?

    syschel
    @syschel
    Локально из РФ, с VPS в тайм вебе, так же:
    syschel@ubuntuPC:~$ ping bitbucket.org
    PING bitbucket.org (18.234.32.156) 56(84) bytes of data.
    ^C


    С сервера в европе
    Автоматом определяется как IPv6 и по нему пингуется, если сам IPv4 пинговать, то облом:
    root@syschel:~# ping 18.234.32.156
    PING 18.234.32.156 (18.234.32.156) 56(84) bytes of data.
    ^C
    --- 18.234.32.156 ping statistics ---
    11 packets transmitted, 0 received, 100% packet loss, time 10219ms
    
    root@syschel:~# ping bitbucket.org
    PING bitbucket.org(2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470)) 56 data bytes
    64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=1 ttl=40 time=89.5 ms
    64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=2 ttl=40 time=85.5 ms
    64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=3 ttl=40 time=85.3 ms
    64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=4 ttl=40 time=85.4 ms
    ^C
    --- bitbucket.org ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3117ms
    rtt min/avg/max/mdev = 85.339/86.414/89.450/1.753 ms
  • Bitbucket фсе, блокирует российские IP?

    syschel
    @syschel
    Если через европейский ВПН подключаться, то всё работает (и веб морда и работа с GIT`ом)
  • Bitbucket фсе, блокирует российские IP?

    syschel
    @syschel
    Не просто. Консольно git pull/push так же не работают. Веб морда через раз открывается.
    Если через европейский ВПН подключаться, то всё работает (и веб морда и работа с GIT`ом)
  • Bitbucket фсе, блокирует российские IP?

    syschel
    @syschel
    $ git pull
    fatal: «https://bitbucket.org/***/***.git/» недоступно: gnutls_handshake() failed: The TLS connection was non-properly terminated.
  • Не могу разобраться с django, как испортировать функцию?

    syschel
    @syschel
    CteplerMarinovich, Нужно содержимое файла women.views.py
    Ещё смущает вот это место:
    File "C:\Users\стёпа\Desktop\SERVER\coolsite\coolsite\urls.py", line 16, in
    from women.views import index

    Во первых в приведённом коде я не вижу 16 строк, во вторых, почему ошибка на index, когда у вас там написано обращение к index1?
  • Почему не запускается локальный сервер Django?

    syschel
    @syschel
    Lapita12,
    1. Установите необходимые зависимости.
    pip install django
    2. Создайте виртуальное окружение (virtual environment):
    python -m venv myvenv

    Зачем ставить виртуальное окружение, если вы ставите библиотеку(джанго) в глобальный питон?
    Шаг 1 и 2 перепутаны местами у вас. Вернее даже 1 и 3 перепутаны. Окружение нужно активировать, перед тем как в него ставить что-то =)