Category Archives: django
Как Yandex использует Python и django
Доклад о том, как яндекс использует django (+архитектура яндекс.погода).
Новое в Django 1.4
Достаточно развёрнуто про новый функционал Django 1.4: http://blog.futurecolors.ru/search/label/Django%20Days
Локализация javascript в django
Продолжение записи Интернационализация и локализация django. Для перевода яваскрипта нужно В urls.py добавить урл для подгрузки функций интернационализации
1 |
url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', {'packages': ('my_project',),}) |
словарь packages должен содержать один из пакетов, указанных в INSTALLED_APPS. Добавить в шаблон подгрузку это скрипта
1 |
<script type="text/javascript" src="/jsi18n/"></script> |
В нужных местах воспользоваться функциями gettext, ngettext или interpolate Создаём файл с переводами для js командой
1 |
django-admin makemessages -d djangojs -l ru |
Добавляем перевод …
Интернационализация и локализация django
На примере русского языка.
Factory-метод модели Django
Никак не мог придумать, как озаглавить статью). Просто есть две вещи, которые хотел упомянуть. Создаём метод класса, возвращающий модели класса, который может вернуть и только указанные поля всех удовлетворяющих условиям моделей.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
from django.db import models from django.contrib.auth.models import User from django.db.models import Q class Exercise( models.Model ): name = models.CharField( max_length = 255 ) is_paired = models.BooleanField( default = False ) user = models.ForeignKey( User, blank = True, null = True ) @classmethod def getExercisesForUser(cls, User, Fields = ()): query = cls.objects.filter(Q(user = None) | Q(user = User)) if Fields: query = query.only(*Fields) return query |
Здесь нужно выделить два важных момента:
1 |
cls.objects.filter(Q(user = None) | Q(user = User)) |
Здесь создаётся фильтр моделей, созданных конкретным пользователем или не относящимся ни к какому пользователю. Подробнее о …
Вложенные формсеты в Django
Задача стояла следующая: сделать карточку создания-редактирования тренировки, которое состоит из упражнений, каждое из которых состоит из подходов. При этом должна быть возможность создавать тренировку по шаблону, при этом должны выводиться формы упражнений с предзаполненными данными, а также пустые определённого количества форм для ввода подходов (количество задаётся в шаблоне). Также должна сохраниться валидация всех форм, невозможность …
Запуск проекта Django
Запустить новый проект Перед запуском надо записать изменения в базу данных:
1 |
python manage.py syncdb |
Также можно проверить на ошибки:
1 |
python manage.py validate |
Запустить проект:
1 |
python manage.py runserver |
Кстати, тут много про запуск Django в продакшн-окружении.