Ответы пользователя по тегу Django
  • Как добавить булен поле в текущую модель Django?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    А папка migrations на месте? Посмотри что в ней. Может какая-миграция слетела?

    В принципе, можно просто добавь поле в таблицу базы руками. Как в первых версиях Django, пока не было south...
    Ответ написан
    Комментировать
  • Как применить изменения на django-сервере(ubuntu, nginx, uwsgi) без перезагрузки?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    В настройках uwsgi.ini надо добавить параметрtouch-reload. Он указывает на имя файла при изменении которого происходит авторестарт приложения. Можно написать bash-скрипт который просто добавляет в этот файл что-то типа restart [текущая дата и время] и получится нечто вроде лога перезапуска django.

    На практике (по крайне мере у меня) все авторестартится даже если происходят изменения в любом python-файле проекта. Не знаю почему так. В uwsgi.ini проекта стоит:
    touch-reload = /home/[user]/[адрес сайта]/logs/[адрес_сайта]_reload.log
    Ответ написан
    Комментировать
  • Как вы быстро разворачиваете окружение?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    virtualenv и храню его копию в облаке... Если надо развернуть окружение на новой машине, портирую папку окружения из облака и указываю для проекта путь к питона в этой папке. Если делать не портирование, а сихронизацию -- то можно поддерживать единую среду сразу на нескольких машинах.

    Способ предполагает одинаковые ОС на всех машинах. Не обязательно ОС одной версии, но если на одной машине Ubuntu, а на другой Windows - то способ не сработает. В вот если Windows 8.1 64 bit и Windows 7 x68 -- то запросто.

    Еще секрет -- внутри окружения использовать 32-битные версии питон. Оно и для большей доступности библиотек полезнее.
    Ответ написан
    Комментировать
  • Как динамически создавать таблицы в django?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Скорее всего придется работать через курсоры, и голыми руками лазать в базы... или даже лазать в базы через ssh-тоннели... Но скорее всего что-то не так с архитектурой того что вы задумали. Django не предусмотрено для этого. Там даже через курсоры лазить в БД имеет смысл только в крайних случаях, когда все что можно для повышения производительности уже сделано.
    Ответ написан
    Комментировать
  • Как получить значение поля из связанной модели?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Через двойной подчерк...

    Т.е. что-то типа c.get_field('field1__поле_из_связной_таблицы')
    Ответ написан
    Комментировать
  • Как пройти сад граблей при миграции с SQLite3 на MySQL в Django или "not enough arguments for format string" при построении raw-запросов?

    Sergei_Erjemin
    @Sergei_Erjemin Автор вопроса
    Улыбайся, будь самураем...
    Вопрос решился после полного переноса всех данных и перестроения всех индексов.
    В базе SQLite строки "что-то" и "что-то " (отличие в завершающем пробеле) считаются уникальными. В mySQL такие строки уникальностью не обладают. Из-за этого, похоже, и были все проблемы.

    P.S. Различие в скорости исполнения запросов через ORM и RAW для MySQL не столь существенно, как в SQLite. Что говорит скорее о качестве работы ORM а не самой базы.
    Ответ написан
    Комментировать
  • Почему не могу дампнуть базу в django?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Чего проще? Входишь в консоль SQlite и делаешь:
    .tables
    смотришь какие таблицы созданы в модели (там же бывают всякие:
    class Meta:
            db_table="что-то"

    и не факт, что схема наименования таблиц дефолтная). А когда уже знаешь имена таблиц делай им:
    .dump ?TABLE?

    www.sqlite.org/cli.html в помощь
    Ответ написан
    Комментировать
  • Почему не работает pip в virtualenv?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Потому, что его еще нет и надо установить:
    curl https://bootstrap.pypa.io/get-pip.py > ~/tmp/get-pip.py
    python ~/tmp/get-pip.py
    Ответ написан
  • Чем так хорош Django?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Как говорят девушки: "Первый раз не очень, но после 200 раза начинаешь получать извращенное удовольствие!"

    Стандартная дока -- вполне вменяема. Только не надо делать из нее бессмысленные упражнения. Прочитали раздел, придумали себе сами задачку, выполнил... И так потихоньку все и осваивается. Так получится впихивать знания в голову по частям, и на каждом этапе иметь положительную мотивацию: ведь ваша предыдущая маленькая задачка получилась! При этом можно спокойно параллельно осваивать всякие другие полезные вещи типа JQuery или библиотек PIL
    Ответ написан
    Комментировать
  • Почему не работают куки под Pythom/Django?

    Sergei_Erjemin
    @Sergei_Erjemin Автор вопроса
    Улыбайся, будь самураем...
    На самом деле работает вот так:

    from django.shortcuts import render
    
    def main_init ( request ) :
        NumViz = 0
        if "NumVisit" in request.COOKIES:
            # стоят кукии, и это не первый визит
            NumViz = request.COOKIES["NumVisit"]
            NumViz = int( NumViz ) + 1
    
        dimention_to_template = { 'NV': NumViz }      # словарь, для передачи шаблону
       
        return render( request, "index.html", dimention_to_template ).set_cookie( "NumVisit", NumViz )

    Т.е. через render_to_response куки не вешаются, а вот через просто render -- запросто
    Ответ написан