Ha érdekli a webfejlesztés, akkor határozottan érdekesnek találja a Djangot. A Django alapvetõen egy Pythonon alapuló webes fejlesztési keret. Úgy tervezték, hogy sok időt takarítson meg, és a webfejlesztést sokkal egyszerűbbé és szórakoztatóbbá tegye. A Django segítségével kiváló minőségű webes alkalmazásokat hozhat létre és tarthat karban.
A webfejlesztés önmagában a kreativitás és a szórakoztató elemek, valamint egy csomó ismétlődő anyag keveréke. Amit a Django csinál, az lehetővé teszi, hogy a szórakoztató bitre és a webes alkalmazás kulcsfontosságú elemére összpontosítson, miközben az ismétlődő részeket könnyedé teszi. Más szavakkal, rövidítést ad a gyakori programozási feladatokhoz és a webfejlesztés általános mintáinak kivonásához. Világos egyezményeket ad a problémamegoldásról is. Mindezt megteszi, miközben lehetőséget ad arra is, hogy szükség esetén a kereten kívül dolgozzon.
Mi az a webes keret?
Természetesen, mielőtt bemutatnánk a Django-t, először tudnunk kell, mi a webes keretrendszer, figyelembe véve annak fontosságát a mai internetes alkalmazásokban. A webes keretek megértése érdekében vessünk egy pillantást arra, hogy a Python alkalmazás hogyan kódol, ha nem használ keretrendszert. Ennek legegyszerűbb módja a Common Gateway Interface (CGI). Csak el kell készítenie egy szkriptet HTML-kimenettel, majd el kell mentenie a szkriptet a-val. cgi kiterjesztés egy webszerverre. Az egyszerű oldalakhoz valószínűleg a legjobb a "nulláról történő írás" megközelítés. A kód könnyebben érthető, és nincs más olvasható kód. A telepítés szintén egyszerűbb.
Az egyszerűség ellenére a megközelítés számos kihívással jár. Például, mit tennél, ha az alkalmazás több részéhez szüksége lenne az adatbázishoz való csatlakozáshoz? Ha a fenti módszerrel jár, akkor minden egyes CGI-parancsfájlban meg kell másolnia az adatbázist összekötő kódot. Ez nem csak nehézkes, hanem növelheti az emberi hibák kúszásának esélyét is. A könnyebb módszer azonban, ha ezt a kódot megosztott funkcióba helyezzük. Amikor a kódot különféle környezetekben használják külön jelszóval és adatbázissal, akkor a kódot konfigurálnia kell az egyes környezetekhez.
Továbbá, ha nincs sok tapasztalata a Python használatával, akkor valószínűbb, hogy kisebb hibákat követ el, amelyek az alkalmazás összeomlását okozhatják. Az oldal logikája ideálisan elkülönülne a HTML megjelenítő elemeitől, így a szerkesztő szerkesztheti az egyes elemeket, anélkül hogy befolyásolná a másikat.
Egy webes keret oldja meg ezeket a kérdéseket azáltal, hogy infrastruktúrát hoz létre a programalkalmazásokhoz. Ez segít koncentrálni a fenntarthatóbb és tisztább kódok tényleges írására. Django ezt is csinálja.
Model-View-Controller
Django szorosan követi a Model-View-Controller (MVC) mintát, annyira, hogy csaknem MVC keretrendszerbe lehetne sorolni. Ez a mintázat három egyedi osztályra osztja a tartomány modellezését, a prezentációkat és a felhasználói bemeneti alapú műveleteket. Ennek jobb megértése érdekében csak vessen egy pillantást a Python CGI szkriptre.
A szokásos CGI szkript tartalmaz néhány bevezető HTML elemet a kezelőfelületről, majd egy kapcsolatot az adatbázishoz. Íme egy példakód egy adatbázis-kapcsolatra a Python CGI-ben:
connection = MySQLdb.connect (felhasználó = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')
Ezt követően van egy végrehajtási parancs a lekérdezés futtatásához. Ezután van néhány HTML-kódja a lekérdezés eredményének megjelenítéséhez a kezelőfelületen. Végül bezárja a kapcsolatot egy egyszerű vonallal:
connection.close ()
A Django-val három Python-fájlod van, azonosítva velük. py utótag. Az első az adatbázis táblák, a models.py. A második tartalmazza a Views.py alkalmazás logikáját. És a harmadik URL-konfigurációval rendelkezik, az urls.py. Végül rendelkeznie kell néhány HTML elemmel, hogy az eredményeket az elején bemutathassa. A kulcs a különféle Python fájlok szétválasztása; nem kell aggódnia a szintaxis miatt.
A models.py fájl leírja az adatbázis táblát. E Python osztály használatával egyszerű Python-kóddal hozhat létre, törölhet, tölthet le és frissíthet rekordokat az SQL-utasítások ismétlése helyett. A Views.py fájl rendelkezik az üzleti logikával, és a latest_books () függvény a nézet. Az urls.py fájl meghatározza, hogy milyen nézetet kell meghívni egy adott URL-hez. Például kódolhatja a meghívandó nézetet, ha a böngésző betölti a domain URL-t / példát /. Ez azt jelenti, hogy ha domainje abc.com, akkor az abc.com/example/ URL látogatása ezt a funkciót hívja meg.
A HTML sablon leírja az oldal kialakítását. Sablon nyelvet és alapvető logikai utasításokat használ. Összességében ezek a darabok az MVC mintát követik.
Az MVC egy szoftverfejlesztési módszer, azzal jellemezve, hogy a modell, amely az adatok elérésének és meghatározásának kódja, külön van a vezérlőtől, amely a kérelem-irányítási logika, amely szintén elkülönül a nézettől, azaz a felhasználói felület. Az MVC abban az esetben hasznos, hogy az alkotóelemek nagyon lazán kapcsolódnak egymáshoz. A webalkalmazás minden részének tehát saját célja van, és függetlenül megváltoztatható anélkül, hogy drasztikusan meg kellene változtatni más darabokat. Például megváltoztathatja az URL-t az alkalmazás bármely részén, és ez megváltoztatja a megvalósítást, anélkül, hogy megérintné a Python-kódot, amely azt megjelenítené. Nevezhet át egy táblát az adatbázisban, és egyetlen helyen megadhatja a változásokat, tucatnyi fájl cseréje nélkül.
Ajánlott tanfolyamok
- Program a Windows 10 rendszeren
- Professzionális szoftver tesztelő csomag
- Python Programming Training Bundle
- Teljes Django Training
Django rövid története
Most, hogy egy kicsit ismeri a webes kereteket, itt az ideje egy kicsit belemerülni a Django történetébe. A Django származási helyének ismerete segít jobban megérteni, hogyan működik, és hogyan működtetheti a hivatkozásokat. Ha webes alkalmazásokat készít, akkor valószínűleg már ismeri a CGI-vel kapcsolatos problémákat. A webfejlesztés klasszikus útja így jár:
- A web-alkalmazást az elejétől kezdve írja
- Ön egy második alkalmazást ír
- Rájött, hogy a két alkalmazás között számos közös elem létezik
- A kódot úgy reagálja, hogy az 1. alkalmazás ugyanazzal a kóddal rendelkezik, mint a második
- Ismételje meg néhányszor a 2-4-et
- Rájössz, hogy kialakított egy keretet
Így jött létre a Django. A valós alkalmazásokból alakult, amelyeket egy Kansas-i webfejlesztő csapat írt. 2003-ban hozták létre, amikor Adrian Holovaty és Simon Willison web-programozók elkezdték használni a Python-ot építkezési alkalmazásokhoz.
A több online hírportál fenntartásáért és előállításáért felelős World Online csapat hatalmas előnyöket látott egy olyan webfejlesztő környezetben, amelyet az újságírás határideje diktált. Az oldalakhoz az újságírók és a vezetés azt akarta, hogy funkciók kerüljenek hozzáadásra és az alkalmazások gyors ütemtervre épüljenek, csupán napok vagy órák felmondásával. A két fejlesztő ezután létrehozott egy webes fejlesztési keretet az időmegtakarításhoz és a fenntartható alkalmazások határidőn belüli építéséhez.
Ezután a csapat 2005 nyarán nyílt forráskódú szoftverként kiadta a keretet, Djangonak nevezi Django Reinhardtnak, aki vitathatatlanul az egyik legnagyobb jazzgitáros. Azóta a Django népszerű nyílt forráskódú projektként működik világszerte, támogatói, közreműködői és felhasználóinak ezrei mellett. Az eredeti fejlesztők közül kettő, Jacob és Adrian továbbra is iránymutatást adott a keret növekedéséhez.
De miért beszélünk még Django történelméről? Nos, két okból. Az első az, hogy segít azonosítani és megmagyarázni a szoftver „kedves pontját”. A Django hírkörnyezetéből fakad, ezért tele van olyan szolgáltatásokkal, amelyek leginkább megfelelnek a tartalomközpontú webhelyeknek, például a Washington Post, az Amazon és a Craigslist számára, adatbázis-vezérelt és dinamikus információkat kínálva. Ennek ellenére a Django minden dyamic webhelyre is jó. A második ok az, hogy Django története segít megérteni, hogyan alakult a közösség kultúrája.
A Django a valós kódból jött létre, nem pedig kereskedelmi termékből vagy tudományos gyakorlatból. Ennek eredményeként nagy hangsúlyt fektet az eredeti webfejlesztők által felmerült problémák megoldására, valamint a jelenlegi fejlesztők által még mindig szembesülő problémák megoldására. Ez azt jelenti, hogy Django szinte napi fejlesztéseket lát. A vázszerkezet-karbantartó személyzet érdeke annak biztosítása, hogy az eszköz időt takarítson meg a fejlesztő számára, és könnyen karbantartott alkalmazásokat állítson elő, valamint azokat, amelyek nehéz terhek mellett is jól teljesítenek. Más szavakkal, mindannyian meg akarják könnyíteni a dolgokat.
A Django telepítése
Tehát már egyértelműnek kell lennie, hogy a Django egy eszköz a webfejlesztés egyszerűsítéséhez. Maga az eszköz telepítése azonban néhány lépést megtehet a mozgó alkatrészek száma miatt a mai webfejlesztési környezetben.
A Django alapvetően Python-kód, tehát bárhová fut, amit Python tesz, amely magában foglal néhány mobiltelefonot. Tegyük fel, hogy asztali vagy laptopra vagy szerverre telepíti. Mivel a Django Python-ban van írva, először a Pythonra van szükség. A Django alapvető keretrendszere bármilyen Python verzióval 2.5-től kezdve. Ha nem biztos benne, hogy mit válasszon, válassza ki a Python legújabb verzióját, mivel azok nyelvi funkciókkal és teljesítmény-fejlesztéssel rendelkeznek, amelyek hasznosnak bizonyulhatnak.
Ha Mac vagy Linux rendszert használ, akkor valószínűleg már van Python a számítógépén. Ezt ellenőrizheti a parancssorba történő beírással, és a parancssorba gépelve 'python'. Látnia kellene valami ilyesmit:
Python 3.5.1 (v3.5.1: 37a07cee5969, 2015. december 6., 01:54:25)
(MSC v.1900 64 bit (AMD64)) a Win32-en
További információkért írja be a „súgó”, a „szerzői jog”, a „jóváírás” vagy a „licenc” lehetőséget.
>>>
Ha nem látja ezt, akkor töltse le és telepítse. A telepítés után le kell töltenie és telepítenie a Django-t. Két változat közül választhat: a legfrissebb hivatalos kiadás vagy az élvonalbeli webes fejlesztési kiadás. Amit választ, az az, amit akar. Ha tesztelt, stabil verziót szeretne, keresse meg a hivatalos kiadást. Ha szeretne valamit a legújabb funkciókkal, hozzájárulni szeretne a közösséghez, és képes megbirkózni a stabilitás hiányával, keresse fel a webes fejlesztési verziót.
Először is a legjobb, ha a hivatalos kiadást keressük. A legfrissebb megtalálható a Django Project weboldalán. Ha van Linux disztribúciója a Django csomaggal, keresse meg a disztribútor verzióját, hogy biztonsági frissítéseket is kapjon.
Adatbázis beállítása
Django egyetlen előfeltétele, hogy működő Python-telepítése legyen. Miután elkészítette ezt a beállítást, nagyjából elkezdheti a webalkalmazások írását. Mint azonban korábban említettük, a Django-t úgy fejlesztették ki, hogy a tartalomközpontú, adatbázis-vezérelt webes alkalmazásokra összpontosítson. Tehát valószínű, hogy adatbázis-alapú webhelyet fog létrehozni. Ebben az esetben be kell állítania egy adatbázis-kiszolgálót.
A Django négy adatbázis-motort támogat: MySQL, Oracle, SQLite 3 és PostgreSQL. Az összes motor egyformán jól működik a magkerettel. A PostgreSQL használata akkor ajánlott, ha nincs kapcsolata egy régi rendszerrel, és választhat egy adatbázis-háttérrendszert.
Az adatbázis létrehozásához telepítenie kell és konfigurálnia kell magát a kiszolgálót. Minden egyes kiválasztott adatbázisnak megvan a maga módja a beállításhoz, tehát erre utalnia kell. Másodszor, telepítenie kell a Python könyvtárat az adott adatbázis-háttérrendszerhez. Ez a Python által gyártott harmadik fél kódja az adatbázishoz való kapcsolódáshoz.
Az SQLite használata akkor ajánlott, ha csak a Django-val kísérletezik, és nem szeretne szervert telepíteni. Nem igényel telepítést; csak leolvashatja és írhatja az adatokat egy fájlba a rendszeren, és a Python 2.5 vagy újabb támogatja. A Windows megnehezíti az adatbázis-illesztőprogram bináris fájljainak beszerzését.
A MySQL mellett a MySQL 4.0 vagy újabb verzióra van szüksége, mivel a régebbi verziók nem támogatják a Django szolgáltatásait. A MySQLdb csomagot a Django Project oldalon is telepítenie kell. Ha Linuxot használ, akkor a disztribúció csomagkezelő rendszerének lehet egy 'mysql-python', 'python-mysqldb' vagy 'python-mysql' nevű csomag.
A Django az Oracle Database Server 9i vagy újabb verzióival működik. Telepítenie kell a cx_Oracle könyvtárat a cx-Oracle webhelyről. Alternatív megoldásként a Django adatbázis nélkül is használható, ha csak dinamikus oldalak kiszolgálására szeretné használni, anélkül, hogy adatbázisra hivatkozna. Ennek ellenére a Django egyes eszközeinek adatbázisra van szüksége, és ha nem rendelkezik ilyennel, akkor kihagyja őket.
Ajánlott cikkek
Íme néhány cikk, amely segít részletesebben megismerni a Python-ot és a Django webfejlesztést, tehát csak keresse meg a linket.
- Python vs JavaScript - Tanulja meg a 11 hasznos különbséget
- 10 legjobb webes fejlesztési interjú kérdés, amelyet tudnia kell
- 10 Python programozási típus
- Python vs Ruby Performance és hasznos előnyeik
- Python vs JavaScript kulcskülönbségek
- Python vs Go