2. Кто докладывает
• Алексей Кинёв, 30 лет, Москва, тех.
директор в компании КСАН
• Опыт разработки на Python/Django 4 года
• Проекты:
– PCNews.ru, Qmazi.com, Gallerza.com
– django-smarter
• Home page:
– http://05bit.com/rudyryk/
3. Проблема / задача
Single domain:
http://domain.com/<blog>/<post>/
Multi domain:
http://<blog>.domain.com/<post>/
Single domain => Multi domain
4. Варианты решения
• django.contrib.sites
– стандартно, но не то: 1 домен 1 settings.SITE_ID
• использовать Middleware
–звучит разумно
• использовать свой DNS / BIND
–«бесплатно» + полный контроль, но рискованно,
сложно
• использовать сторонний DNS SAS с API
–проще, но за деньги
5. Выбранное решение
Делаем Middleware
+ PowerDNS.com
BEST PRACTICE? Not sure.
Just works
6. Пикантные подробности
Пример models.py:
class Channel(models.Model):
slug = models.CharField(max_length=100, unique=True)
title = models.CharField(max_length=200)
# ...
class Post(models.Model):
channel = models.ForeignKey(Channel)
# ...