Вижте Django .
Python код. Шаблонен език, който позволява някои от същите функции като PHP – малко по-различен синтаксис.
Моделът е отделен от функциите за преглед ("бизнес правила") и от представянето. Това се прилага в Django.
Един от често срещаните въпроси е "защо не мога да направя -- някакво лудо нещо подобно на PHP -- в шаблона на Django?" Отговорът е, че презентацията не е обработка. Направете вашата обработка във функциите за изглед на Django. Изобразете резултатите като HTML в шаблона.
Също така, Django има ORM слой, за да ви разведе от дребните SQL съображения. MySQL или PostgreSQL са повече или по-малко еквивалентни от Django.
Редактиране
„Зрелост“ означава много неща. Споменахте конкретно квалифицираните хора като знак за зрялост.
Django е чист Python. Ако можете да намерите хора с Python, те могат да научат Django за няколко дни. Те просто трябва да направят уроците.
-
Сайтът, поддържан от Django, обикновено е Apache + малко лепило + Django. Лепилото може да бъде mod_wsgi или mod_python или mod_fastcgi. Трябва да управлявате тази конфигурация с известно внимание, защото има няколко движещи се части. Това обаче е същият проблем с конфигурацията на Apache, който имате с PHP -- нищо ново тук.
-
Сайтът на Django има един или повече екземпляра на Django сървър, всеки с файл с настройки, URL картографиране и произволен брой приложения. На този етап чист Python.
-
Django приложение има URL съпоставяне, модел и изгледи. Изцяло чист Python. Единично тестван с разширенията на Django към собствената вътрешна рамка за unittest на Python.
-
Моделът използва ORM слой. Това може би е най-объркващото нещо в Django. Хората понякога проектират много странни модели, защото мислят или за прекалено високо ниво-uber-generic, или мислят твърде много за SQL. Django е средно ниво на предимно обектна ориентация с известно внимание към SQL. Вземете това и ще бъдете неудържими.
-
Django приложение може да има шаблони, които са на техния собствен шаблонен език. Това би било единственото нещо извън Python, което представлява голям интерес. Може да искате да добавите потребителски етикети -- чист Python.
-
Вероятно ще имате JavaScript (също вярно за PHP и всяка друга рамка за уеб приложения). Тук няма нищо ново.
-
Тъй като администраторското приложение на Django автоматично обработва основната CRUD обработка, не е нужно да пишете това. Вие сте свободни да напишете всички транзакционни неща, които искате. Но не е нужно. Това ви води до много, много мощен хибрид.
-
Пишете няколко сложни, критични транзакции. Чист Python, BTW.
-
Не пишете нито една от тъпите транзакции за поддръжка на маса. Никой код не е по-добър от Python или PHP.
-
След като намокрите краката си с шаблонния двигател и CSS, можете да приспособите администраторския интерфейс да изглежда като всичко, което искате. Това са HTML/CSS неща, без Python или PHP.
-
Долен ред. По-голямата част от набора от умения е Python. ORM е - синтактично - Python, но изисква известно внимание при правенето на нещата просто и чисто. Шаблонът е собствен език, но значително по-прост от PHP. Останалото е SQL, Javascript, HTML, CSS, Apache и какво ли още не.
Редактиране
Зрялост на Django
-
Вижте http://www.djangoproject.com/community/ за броя на активните проекти.
-
Присъединете се към http://groups.google.com/group/django-users за ежедневен поток от имейли от потребители.
Блогът на Django датира от '05, което означава, че са имали години солиден опит, преди най-накрая да пуснат 1.0 през септември '08. Разработката очевидно е започнала през '03.