Bence birkaç faktör vardı, bunların kombinasyonu bireysel ağırlıklarının toplamından daha büyüktü.
Birincisi basitçe zamanlamadır: Django, Rails'in ilk büyük dalgası yükselirken ortaya çıktı ve bu yüzden hemen "Python'un Rails'e yanıtı" olarak tasvir edildi. Bu, neredeyse en başından itibaren projede önemsiz olmayan sayıda göz küresi ile sonuçlandı. Adrian'ın Chicago'daki "Yılanlar ve Yakutlar" buluşmasında olması ve Rails ve Django hakkında yan yana görüşmelerde yer alması bunun için çok şey yaptı.
Diğer bir faktör de Django'nun tek paketli bir kurulum olmasıdır ve her zaman olmuştur (pek de değil: Python 2.5+ kullanmıyorsanız ve SQLite kullanmıyorsanız, ancak yeterince yakın olmadıkça bir veritabanı adaptörüne ihtiyacınız var). Bileşen seçimlerini geliştiricinin ellerine bırakmaya odaklanan Zope dışı alternatifler, yalnızca temel bir öğretici yapabileceğiniz noktaya gelmek için biraz daha fazla çalışma gerektirdi: bir ORM, bir şablon dili vb. Yıllar geçtikçe bu çok daha iyi hale gelse de, bence bunun hala bir etkisi var.
Ve Django, açık kaynak projeleri için olağan standardın çok üstünde olan ve ancak zamanla daha iyi hale gelen belgelerle kapıdan çıktı. Öğretici, birçok hatasına rağmen, Django'yu kullanışlı kılan bir dizi yüksek noktaya isabet eder ve belgelerin geri kalanı her zaman iyi kalitede olmuştur, hem API referansını hem de önemli "nasıl yapılır" bitlerini gerektiği gibi karıştırır. Bu, kullanıma hazır iyi bir deneyim sağlar ve eğitim sonrası öğrenme eğrisine yardımcı olur (Zope'u her zaman rahatsız eden bir şey).
Ayrıca, Pylons veya Werkzeug'un WSGI ve Python web ekosistemini zaten bilen deneyimli geliştiriciler için doğru ya da yanlış bir algı olduğunu düşünüyorum; Mevcut favori kütüphanelerinizi alıp bunları birbirine bağlamak için güçlü seçimler olma eğiliminde olmaları gerçeği, bence bunun kaynağı ve belki de bazı yeni insanları Django'nun entegre yaklaşımına itiyor. Diğer bir deyişle, elbette, Django'yu denemeden önce daha önceden daha fazlasını öğrenmesi daha iyi olan birçok insan bunu yapmaz;)
Son olarak, Django'nun pazarlanma şekli için söylenecek bir şey olduğunu düşünüyorum , bu da aslında uzun süredir pazarlanmadığını ya da en azından, mesela Rails'in pazarlandığı anlamında değil. Django 1.0 gelene kadar, "pazarlama" çabası çoğunlukla insanların blog yazmasından (ve insanlardan bunu biraz hafifletmelerinin istendiği bazı önemli olaylar oldu), PyCon'da konuşmalardan ve ardından çoğunlukla çerçeveyi iyileştirmekten, onunla harika şeyler inşa etmekten oluşuyordu ve sonuçların kendi adına konuşmasına izin vermek Şimdi, tabii ki, 1.0 sonrası dünyada, DSF ve DjangoCon ve iş odaklı danışmanlarımız eğitim oturumları, bir sürü kitap ve geri kalan her şeyi yapıyor, ama bu hala oldukça yeni.
Tıpkı Rails'de olduğu gibi bir geri tepme olmasını bekliyorum ve aslında bir süredir demlenmeye başladığını düşünüyorum. Ancak şimdiye kadar, burada listelediğim faktörlerin, en azından Django'nun ilk sürümünden bu yana gördüğü sürekli ve istikrarlı popülerliğin arkasındaki başlıca faktörler olduğunu düşünüyorum.