Я думаю, було декілька факторів, поєднання яких було більшим, ніж сума їхніх індивідуальних ваг.
Одне - просто хронометраж: Джанго з’явився саме тоді, коли наростала перша велика хвиля ажіотажу на Rails, і тому його відразу ж зобразили як своєрідну «відповідь Пітона на Rails». Це призвело до несуттєвої кількості очних яблук на проекті майже з самого початку. Той факт, що Адріан був на зустрічі "Змії та рубіни" в Чикаго і мав брати участь у паралельних переговорах про Рейлса та Джанго, багато зробив для цього.
Іншим фактором є те, що Django є і завжди був установкою з одним пакетом (ну, не зовсім: вам все ще потрібен адаптер бази даних, якщо ви не використовуєте Python 2.5+ і не використовуєте SQLite, але досить близько). Альтернативи, що не стосуються Zope, і всі вони зосереджувались на тому, щоб вибір компонентів залишався в руках розробника, вимагав ще трохи роботи, щоб лише дійти до того моменту, коли ви зможете зробити базовий підручник: вам потрібно буде піти на пошук ORM, Мова шаблонів тощо, тощо, а також встановіть та налаштуйте їх усі. Хоча за ці роки це стало набагато кращим, я думаю, що затяжна пам’ять про це все ще має ефект.
І Джанго вийшов із воріт із документацією, яка (якщо можна так сказати, сама) була набагато вище звичайного стандарту для проектів з відкритим кодом і з часом лише покращилася. Підручник, незважаючи на всі його численні помилки, вражає низку найвищих моментів, які роблять Django корисним, а решта документації завжди була доброякісною, поєднуючи як посилання на API, так і важливі "як" біти за потреби. Це створює хороший нестандартний досвід і допомагає в процесі навчання після навчання (те, що завжди мучило Зопе).
Я також думаю, що існує сприйняття - правильно чи помилково - що, скажімо, Pylons чи Werkzeug дійсно краще для досвідчених розробників, які вже добре знають WSGI та веб-екосистему Python; той факт, що вони, як правило, є вагомим рішенням для того, щоб взяти ваші улюблені бібліотеки та з’єднати їх, є джерелом цього, я думаю, і, можливо, підштовхує деяких нових людей до інтегрованого підходу Джанго. Зворотний бік, звичайно, полягає в тому, що багато людей, яким було б краще навчитися більше заздалегідь, перш ніж спробувати Django, цього не роблять;)
Нарешті, я думаю, що можна сказати щось про те, як Джанго продавали, тобто про те, що він справді не продавався довгий час, або принаймні не в тому сенсі, що, скажімо, продавався Rails. Поки Django 1.0 не приземлився, "маркетингові" зусилля в основному складалися з ведення блогів (і траплялися деякі помітні випадки, коли людей просили це трохи зменшити), переговорів на PyCon, а потім здебільшого просто вдосконалення фреймворку, створення з ним крутих речей і дозволяючи результатам говорити самі за себе. Зараз, звичайно, у світі після 1.0 ми маємо DSF та DjangoCon та бізнес-орієнтованих консультантів, які проводять навчальні сесії, багато книг та всього іншого, але це все ще досить нове.
Я сподіваюся, що буде негативна реакція, подібно до того, як це було з Rails, і насправді я думаю, що вона назріває деякий час і вже почалася. Але дотепер я думаю, що фактори, які я перелічив тут, є принаймні основними з-за стабільного, стабільного зростання популярності, який спостерігався Django з моменту його первісного випуску.