Se på Django .
Python kode. Et skabelonsprog, der tillader nogle af de samme funktioner som PHP – lidt anderledes syntaks.
Model er adskilt fra synsfunktioner ("forretningsregler") og adskilt fra præsentation. Dette håndhæves i hele Django.
Et af de almindelige spørgsmål er "hvorfor kan jeg ikke gøre - nogle skøre PHP-lignende ting - i Django-skabelonen?" Svaret er, at præsentationen ikke behandles. Udfør din behandling i Django-visningsfunktionerne. Gengiv resultaterne som HTML i skabelonen.
Django har også et ORM-lag til at skille dig fra små SQL-overvejelser. MySQL eller PostgreSQL svarer mere eller mindre til fra Django.
Rediger
"Modenhed" betyder mange ting. Du nævnte specifikt dygtige mennesker som et tegn på modenhed.
Django er ren Python. Hvis du kan finde Python-folk, kan de lære Django på få dage. De skal bare lave tutorials.
-
Et Django-drevet websted er normalt Apache + noget lim + Django. Limen kan være mod_wsgi eller mod_python eller mod_fastcgi. Du skal styre denne konfiguration med en vis omhu, fordi der er flere bevægelige dele. Dette er imidlertid det samme Apache-konfigurationsproblem, som du har med PHP -- intet nyt her.
-
Et Django-websted har en eller flere Django-serverforekomster, hver med en indstillingsfil, en URL-mapping og et vilkårligt antal applikationer. Ren Python på dette tidspunkt.
-
En Django-applikation har URL-tilknytninger, model og visninger. Alt sammen ren Python. Enhed testet med Django-udvidelserne til Pythons egen interne enhedstestramme.
-
Modellen bruger et ORM-lag. Dette kan måske være den mest forvirrende ting i Django. Folk designer nogle gange meget mærkelige modeller, fordi de enten tænker for højt niveau-uber-generisk, eller de tænker for meget i SQL. Django er en mellemting for det meste objektorientering med nogle SQL-hensyn. Få dette, og du er ustoppelig.
-
En Django-applikation kan have skabeloner, som er på deres eget skabelonsprog. Dette ville være omtrent det eneste ikke-Python-ting, der er af stor interesse. Du ønsker måske at tilføje brugerdefinerede tags -- ren Python.
-
Du vil sandsynligvis have JavaScript (også gældende for PHP og alle andre webapplikationsrammer). Intet nyt her.
-
Da Djangos admin-applikation automatisk håndterer grundlæggende CRUD-behandling, behøver du ikke at skrive dette. Du er fri til at skrive alle de transaktionsmæssige ting, du ønsker. Men det behøver du ikke. Dette fører dig til en meget, meget kraftfuld hybrid.
-
Du skriver et par komplicerede, kritiske transaktioner. Ren Python, BTW.
-
Du skriver ikke nogen af de dumme tabelvedligeholdelsestransaktioner. Ingen kode overhovedet er bedre end Python eller PHP.
-
Når du har fået dine fødder våde med skabelonmotoren og CSS'er, kan du skræddersy admin-grænsefladen, så den ligner alt, hvad du vil. Dette er HTML/CSS-ting, ingen Python eller PHP.
-
Bundlinie. Det meste af færdighedssættet er Python. ORM er -- syntaktisk -- Python, men kræver en vis omhu i at gøre tingene enkelt og rent. Skabelonen er sit eget sprog, men betydeligt enklere end PHP. Resten er SQL, Javascript, HTML, CSS, Apache og hvad ikke.
Rediger
Django-modenhed
-
Se http://www.djangoproject.com/community/ for antallet af aktive projekter.
-
Tilmeld dig http://groups.google.com/group/django-users til daglig strøm af e-mails fra brugere.
Django-bloggen strækker sig tilbage til '05, hvilket betyder, at de havde mange års solid erfaring, før de endelig udgav 1.0 i september '08. Udviklingen begyndte tilsyneladende i '03.