Ответы пользователя по тегу Django
  • Как в Django использовать CBV с формой?

    Vintorez
    @Vintorez
    Вы в классе EarnPeriods используете наследование от класса ListView, который не поддерживает post-запросы https://docs.djangoproject.com/en/dev/ref/class-ba...
    Этот класс используется только для отображения "списка объектов".
    А форму на html-странице Вы отправляете post-запросом. Вот и ошибка 405 получается.

    В общем, у Вас 3 варианта:
    1) использовать класс, поддерживающий post-запросы. Какой-нибудь из этих https://docs.djangoproject.com/en/dev/ref/class-ba... в зависимости от того, что нужно;
    2) отправлять форму в шаблоне get-запросом (только если эта форма получает и отображает объекты, а не изменяет их в БД);
    3) написать самому нужные методы (в том числе и post()), но тогда лучше наследоваться от какого-нибудь общего класса типа https://docs.djangoproject.com/en/dev/ref/class-ba...
    Ответ написан
    Комментировать
  • Как отключить автоматические переводы в django?

    Vintorez
    @Vintorez
    Уберите django.middleware.locale.LocaleMiddleware из MIDDLEWARE_CLASSES в settings.py
    Ответ написан
    Комментировать
  • Как реализовать организацию отдачи статического контента с учетом версионирования?

    Vintorez
    @Vintorez
    Костылей городить не нужно. В Джанго все уже есть. Для версий от 1.4.х до 1.6.х специально для этого предусмотрено хранилище статики CachedStaticFilesStorage. Как подключать - по ссылке все описано. А смысл, если вкратце, такой:
    Командой collectstatic создаются копии ваших статических файлов с добавлением хэша к именам файлов (хэш вычисляется из контента самого файла). Таким образом, если контент файла изменяется, то изменяется и его название, поэтому браузер вынужден получать новый файл статики с вашего сервера. Если файл не менялся - тянем с кэша браузера, как обычно.
    Если вы в самом проекте используете темплейт-тег static (как и должно быть), а не переменную STATIC_URL, то проблем с подключением этого хранилища статики у вас возникнуть не должно.
    Да, есть тут один момент. В созданных новых файлах статики все имеющиеся ссылки на другую статику (например в css-файле есть ссылка на картинку) тоже изменяются. Если у вас в файлах есть битые ссылки на статику, то collectstatic свалится с ошибкой.
    Ответ написан
    3 комментария
  • Django - DateTimeField - тип str?

    Vintorez
    @Vintorez
    Добавлять в сигнал лишний запрос к БД не нужно. В документации написано правильно - БД не хранит это как питоновский объект datetime, но тут дело не в этом, так как сигнал получает экземпляр именно вашего класса, то и работать он должен так как вы описали класс.
    В общем, у вас проблема не в получении объекта, а в его сохранении! Вероятнее всего в поле time_start вы сохраняете строку, а не объект datetime, вот и получаете строку.
    Сохранять надо так:
    track.time_start = datetime.datetime(2013, 8, 19, 11, 28, 58)
    track.save()

    Тогда и в сигнале можно будет увидеть, что тип объекта верный:
    print "Time start is %s" % instance.time_start.__class__.__name__
    >>> Time start is datetime
    Ответ написан
    Комментировать
  • Как сделать pagination для Django 1.6?

    Vintorez
    @Vintorez
    Так а чем вам не подходит стандартный пагинатор?
    https://docs.djangoproject.com/en/1.6/topics/pagin...
    То, что вы привели в пример, возможно реализовать и без установки дополнительных батареек.
    Ответ написан
    Комментировать
  • Как адаптировать Django приложение до версии Django 1.6?

    Vintorez
    @Vintorez
    Хмм, ни одного трейсбэка не приведено, но возможно вы просто забыли установить django-tagging от которого зависит работа django-portfolio.

    А вообще, почему бы вам не посмотреть просто в сторону более свежих батареек для джанго?
    Вот вроде простенькая вещь: https://github.com/dokterbob/django-portfolio
    А вот эта потяжелее: https://github.com/stefanfoulis/django-filer
    Но обе вроде мейнтейнятся авторами.
    Ответ написан