Sat 3 May 2008
В транк добавлен бранч Queryset-refactor, который позволяет легко наследовать модели Django, об этом уже давно всем известно. Но наследование - не единственная альтернатива, можно применять Monkey patching.
Главная идея в том, что Monkey patching также позволяет добавлять не только поля, но и функции.
Например, так для модели User добавляю поле OpenID, и еще дополнительную функцию, возвращающую ник, если имя не задано
не создаются дополнительные таблицы
работа с моделью осуществляется всеми стандартными средствами Django.
Главная идея в том, что Monkey patching также позволяет добавлять не только поля, но и функции.
Например, так для модели User добавляю поле OpenID, и еще дополнительную функцию, возвращающую ник, если имя не задано
from django.contrib.auth.models import User
User.add_to_class('openid', models.CharField(max_length=250,blank=True))
def get_user_name(self):
if self.first_name or self.last_name:
return self.first_name + " " + self.last_name
return self.username
User.add_to_class("get_user_name",get_user_name)
Явные плюсы метода:не создаются дополнительные таблицы
работа с моделью осуществляется всеми стандартными средствами Django.
Wed 23 Apr 2008
Для задачи хранения состояний множества элементов иногда используются битовые маски.
Например, о прочтении комментариев к статьям для каждого пользователя. И хотя в этом случае лучше хранить время последнего захода в конкретную тему, но могут возникнуть и другие задачи, в которых необходимо запоминать бинарные данные для элементов, не содержащих дату.
Можно использовать M2M связь между User и объектом. Главный недостаток - это большие издержки на индекс и количество записей, если пользователей и объектов наблюдения очень много. Но можно использовать битовые маски, лишенные этого недостатка.
Можно использовать M2M связь между User и объектом. Главный недостаток - это большие издержки на индекс и количество записей, если пользователей и объектов наблюдения очень много. Но можно использовать битовые маски, лишенные этого недостатка.
Fri 21 Mar 2008
Результаты наблюдения за действиями поисковых ботов в течении 110 дней на одном среднестатистическом русскоязычном сайте с несколькими тысячами уников (4-6 тысяч).
Вместе боты посетили сайт около 1.092.000 раз, что соответствует почти 10 тысяч посещений в день.
Данные по убыванию посещений:
Вместе боты посетили сайт около 1.092.000 раз, что соответствует почти 10 тысяч посещений в день.
Данные по убыванию посещений:
ya.ru 526505 Google.com 285329 Yahoo! 174940 twiceler 50672 Archive.org 29262 MSN 23366 majestic12.co.uk 2062Интересные наблюдения:
- Активность яндекса равна активности всех остальных вместе взятых :)
- Довольно активен какой-то новый поисковик twiceler (cuill.com).
Информация на их сайте в духе "подождите, скоро будет..." - Вступил в строй общественный поисковик majestic12.co.uk, посмотрим, что из этого получится.
Sat 23 Feb 2008
Jared Kuolt создал небольшой скрипт кэширования. Всем замечателен: и простотой и размером.
Но у скрипта StaticGenerator и nginx-конфига, приведенного Jared-ом, есть недостатки:
1) актуально только для сайтов без регистрации;
2) работа с ссылками только простого вида;
3) генерация только при изменении/добавлении контента и/или комментариев.
Я исправил эти недочеты, добавил кое-что интересное в скрипт, и получился StaticGenerator Pro.
Но у скрипта StaticGenerator и nginx-конфига, приведенного Jared-ом, есть недостатки:
1) актуально только для сайтов без регистрации;
2) работа с ссылками только простого вида;
3) генерация только при изменении/добавлении контента и/или комментариев.
Я исправил эти недочеты, добавил кое-что интересное в скрипт, и получился StaticGenerator Pro.
Tue 12 Feb 2008
Миниатюрки картинок в админке Django
Posted by Alrond | Tags: Django :
Martin Mahner написал небольшой туториал о том, как в админке django добавить миниатюрки картинок (Thumbnails). Здесь я привожу ее перевод.
Update 03.Apr.08
Update 03.Apr.08
English
Deutsch
Русский
(6 votes, average: 4.3 out of 5)
