Disclaimer: Полностью согласен с regall. Фрейморк не главное.
А теперь по существу вопроса: написал я как-то давно магазин -
http://buytelecom.ru/ . Перед тем, как приступить к основному программированию написал небольшой пилотный проект на django и pylons. Победил pylons, если коротко то по следующей причине:
Главная проблема, которую нужно учитывать при проектировании любого магазина - это достаточно сложная структура отображаемой информации - все товары описывабтся свойствами, которые делятся по группам. Причем одна и таже группа свойств может быть у товаров различной категории. Более того, у каждого товара могут быть свои индивидуальные свойства или опции, что тоже нужно учитывать.
Ну и кроме того, свойства могут быть совершенно разные. ЕМНИП я выделял по типам true/false, строку, число, выборки из списка опций (грубо говоря select и checkboxlist).
В общем там свой зоопарк. При написании пилотных проектов pylons показал себя лучше по следующим причинам:
1. обработка форм c помощью formencode - в отличии от django.forms поддеживается любой уровень вложенности по иерархии данных (в django два - form и formset) и более гибкая. ПМСМ для магазина это важно при редактировании свойств товара, конечно если есть желание облегчить труд менеджеров магазина.
2. Лучшая работа sqlalchemy по сравнению с django.db на тот период (тогда надо было достаточно много писать ручных запросов к БД в django).
Но сейчас, всматриваясь в прошлое, могу сказать, что одну вещь я бы все-таки сделал принципиально по другому. Я не стал бы использовать SQLDB. Просто потому, что писать на документноориентированных базах данных (couchdb или mongodb) или объектноориентированных (ZODB) было бы гораздо проще в данном случае.
В общем и сейчас я бы взял pylons, ну или repoze.bfg если бы в качестве БД остановился бы на ZODB.