• Что лучше почитать по тестам в django?

    web_user
    @web_user
    Django, HTML + CSS, JS, Photoshop, Illustartor
    Прочти о unittest с 239 страницы из книги:
    Бизли Д.
    Python. Подробный справочник. – Пер. с англ. – СПб.: Символ-Плюс, 2010. –
    864 с., ил.
    ISBN 978-5-93286-157-8
    (легко можно найти в интернете в электронном формате).
    Далее достаточно прочитать djbook.ru/rel1.6/intro/tutorial05.html и все должно быть понятным.

    В будущем эта книга будет лучшим помощником. Ничего лучше на русском не встречал.
    Ответ написан
    1 комментарий
  • NGINX: Как отдавать по домену одно, а по ип другое?

    mva
    @mva
    CEO, CTO, Lua/Gentoo/IPv6 Pioneer
    server_name вполне может быть и IP, только, вот, в Вашем конфиге server_name дублируется в двух разных server {} блоках. Потому, скорее всего, и не работает.

    Альтренативно — Вы можете задать использовать server_name _; (либо любое другое не существующее значение).

    А чтобы избежать отдачи
    станартной странички от NginX
    — в одном из блоков (желательно — первом в конфиге/среди инклудов, ибо иначе с SSL будут проблемы потом) у listen указать директиву default_server
    Ответ написан
    Комментировать
  • Как реализовать декоратор класса в python?

    abukin
    @abukin
    Программирую на Python
    class LoginRequiredMixin(View):
    
        @method_decorator(login_required)
        def dispatch(self, *args, **kwargs):
            return super(LoginRequiredMixin, self).dispatch(*args, **kwargs)


    И от этого класса наследуете все свои порожденные вьюхи.
    Например:

    class ProfileUpdateView(LoginRequiredMixin, UpdateView):
    ...


    Только следите за тем чтобы LoginRequiredMixin был первым базовым классом. Т.к первым делом будет вызываться его dispatch а потом уже все остальные, если пройдут проверку.
    Ответ написан
    2 комментария
  • Как развернуть несколько отказоустойчивых серверов?

    Rrooom
    @Rrooom
    Нанять админа?

    Для настройки понадобятся слова вроде chef, ansible. Для файлов rsync.
    Если нравится хипстерство, то может быть еще mesos, docker.
    Ответ написан
    Комментировать
  • Юнит-тест с авторизацией на другом сайте. Возможно ли?

    @marazmiki
    Укротитель питонов
    Возможно, но так стараются не делать: это нехорошо, когда тесты зависят от внешних факторов (доступность сетевого соединения, например, или вообще сервиса), поэтому такие штуки стараются эмулировать, подразумевая, что на их стороне проблем не будет.

    Почитайте на тему mock
    Ответ написан
    Комментировать
  • Python на Denwer'е ,как?

    syschel
    @syschel
    freelance/python/django/backend
    В денвере питон использовать не желательно. Очень куцая и убогая вещь получается. У меня стоит денвер, но используется только для базы данных и локалхоста под неё. Питон же поставил отдельно на диск, прописал к папке питона путь в переменную винды PATH и вызываю его из CMD просто написав "python". К файлу "python filename.py".
    А изначально так же, ставил в денвер надстройкой. Долго мучался и в итоге забил болт. В денвере он рассчитан под веб вызов (в браузере), а для этого в папке где лежит файл, должен быть кашерный .htaccess (c объяснением как и чем выполнять файлы *.py)

    Для начинающего под виндовс, а у вас она, раз вы говорите про денвер, советую:
    1. Качаем питон понравившейся версии 2.х или 3.х
    2. Прописываем в Path пути к папкам питона и его папке script
    3. Скачиваем gcc MinGW (замена консоли винды, с возможностью команд *NIX). Очень сильно пригодится, если пересаживаться на *NIX операционки не планируем. Особенно когда будите в питон устанавливать пакеты(библиотеки).
    4. Возможно придётся поискать msvcr71.dll, но это в будущем.
    5. Ну а дальше гугл, гугл и ещё раз гугл. Большинство проблем, да наверное все, уже давно кем-то решены.

    Удачи :)

    З.Ы. Для виндусятника очень пригодится эта ссылка ибо не все пакеты, библиотеки под виндой легко устанавливаются. А тут уже собранные инсталлеры конкретно под виндовс.
    З.Ы.Ы. Но самый оптимальный вариант, ставить операционную систему из семейства линуксовых.
    Ответ написан
    1 комментарий
  • Какие технологии использовать для частого обновления большого количества строк в БД?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    У Вас выбрана плохая схема обновления рейтингов. При такой схеме, чем больше комментариев, тем с каждым разом будет труднее их обновлять, ведь придется каждый раз пробегать все записи.
    Зачем пересчитывать рейтинг каждый раз для ВСЕХ записей? Попробуйте сделать рейтинг счетчиками, а уж счетчики пересчитывать в проценты или что там у Вас на лету.
    К примеру, изначально:
    запись 1 - счетчик 1
    запись 2 - счетчик 1
    запись 3 - счетчик 1

    Далее, на запись 2 было сделано последовательно 10 комментариев (при каждом комментарии обновляем счетчик записи), стало
    запись 1 - счетчик 1
    запись 2 - счетчик 11
    запись 3 - счетчик 1
    комментарий 1, для записи 2, счетчик, 1
    ...
    комментарий 10, для записи 2, счетчик, 1

    Теперь для составления рейтинга нам достаточно найти только максимум по счетчику, приняв его за 100 процентов, в текущем случае будет 11. И ничего не нужно обновлять по крону, никакого перебора записей нам не нужно.
    Например на 5 записей:
    запись 1 - счетчик 33
    запись 2 - счетчик 78
    запись 3 - счетчик 3
    запись 4 - счетчик 22
    запись 5 - счетчик 15
    Максимум у нас MAX = 78, рейтинг считаем по формуле счетчик зиписи * ( 100 / MAX )
    Итого при выборе максимума и любой из записей будет
    запись 1 - счетчик 33 - рейтинг 42
    запись 2 - счетчик 78 - рейтинг 100
    запись 3 - счетчик 3 - рейтинг 4
    запись 4 - счетчик 22 - рейтинг 28
    запись 5 - счетчик 15 - рейтинг 19

    Э... Данная схема будет давать не только абсолютный рейтинг, но и относительный по выбору максимума из выборки записей (извиняюсь за тавтологию). Другими словами, если записи сгруппированы как-то по тегам, то поиск максимума по счетчику с выборкой по тегу будет ранжировать записи относительно этой выборки.

    PS. Уф, вот запилил-то... Задавайте вопросы.
    Ответ написан
    3 комментария
  • Django не показывает дату с использованием преобразования |date, где искать ошибку?

    @mefisto
    Судя по всему у Вас либо на фильтр |date подается строка а не datetime объект или это бага относительно фильтра date и даты с таймзонами
    Ответ написан
    1 комментарий
  • Как проверить models.py на соответствие полей полям базы?

    syschel
    @syschel
    freelance/python/django/backend
    Если он делает изменение в питон файле (models.py), то можно использовать любую систему контроля версий (git, svn, hg, ...). А потом просто смотреть изменения в репозитарии. Даже если этот человек сам не будет вносить в репозитарий изменений, делайте это вы, выполняя команду проверки наличия изменённых файлов. Видно будет изменения до символа (что заменили, что удалили, что добавили в код).
    KsR3gdC.png
    Ответ написан
    3 комментария
  • Почему возникает бесконечная рекурсия в операторе with?

    @throughtheether
    human after all
    не понимаю, о какой именно рекурсии речь, но на вашем месте исправил бы
    url_list = [x.strip for x in fh.read().split("\n")]

    на
    url_list = [x.strip() for x in fh.read().split("\n")]
    Ответ написан
    Комментировать
  • Связка nginx+uwsgi: как дать права на доступ к сокету в Ubuntu 14.04?

    sim3x
    @sim3x
    @FireGM в статье есть конфиг uwsgi. Раскоменти
    # chmod-socket = 664
    Дважды проверь все пути к сокетам, как они могут читаться nginx пользователем и пользователем под которым uwsgi запущен.

    Чтобы не было вопросов - почитай, что из себя представляет битовая маска прав

    Устанавливать глобально uwsgi лучше в режиме "tyrant"
    Ответ написан
    1 комментарий