Ir-reviżjoni tal-Bażi tal-Python u l-Ħolqien tal-Ewwel Applikazzjoni Web Tiegħek b'Django - Parti 2


Kif ikkummentajna fil-qosor dwar l-aħħar artiklu ta 'din is-serje, Django huwa qafas tal-web b'xejn u ta' sors miftuħ li jibdel l-iżvilupp tal-applikazzjoni f'kompitu aktar mgħaġġel magħmul b'mod aktar effettiv - mill-perspettiva tal-programmatur.

Biex tagħmel dan, Django isegwi l-mudell tad-disinn MVC (Mudell – View – Kontrollur), jew kif jiddikjaraw il-FAQs tagħhom, jista 'jiġi deskritt aħjar bħala qafas MTV (Mudell – Template – View).

F'Django, dehra tiddeskrivi liema dejta tiġi ppreżentata lill-utent, filwaqt li mudell jiddeskrivi kif id-dejta hija ppreżentata. Fl-aħħarnett, il-mudell huwa s-sors ta 'informazzjoni dwar id-dejta fl-applikazzjoni.

F'dan l-artikolu ser nirrevedu xi punti bażiċi ta 'Python u nispjegaw kif tipprepara l-ambjent tiegħek biex toħloq applikazzjoni tal-web sempliċi fit-tutorja li jmiss.

Tgħallem Xi Python Basics

Bħala lingwa ta 'programmar orjentata lejn l-oġġetti, Python jorganizza l-affarijiet f'kollezzjoni ta' oġġetti bi proprjetajiet (magħrufa wkoll bħala attributi) u metodi (magħrufa wkoll bħala azzjonijiet). Dan jippermettilna niddefinixxu oġġett darba u mbagħad noħolqu każijiet multipli ta 'oġġetti bħal dawn bl-istess struttura ta' proprjetajiet u metodi mingħajr ma jkollna niktbu kollox mill-bidu kull darba. L-oġġetti huma għalhekk definiti minn klassijiet li jirrappreżentawhom.

Pereżempju, oġġett Persuna jista' jiġi definit kif ġej:

  1. Person.height
  2. Piż.Persuna
  3. Persuna.età
  4. Persuna.etniċità

  1. Person.eat()
  2. Person.sleep()
  3. Person.walk()

Bħal fil-biċċa l-kbira tal-lingwi tal-ipprogrammar, proprjetà hija definita mill-isem tal-oġġett segwit minn tikka u l-isem tal-attribut, filwaqt li metodu huwa indikat bl-istess mod iżda wkoll segwit minn par parentesi (li jistgħu jkunu vojta jew le – fil- l-aħħar każ, jista' jkun fih varjabbli li fuq il-valur tagħha se jaġixxi l-metodu, bħal Person.eat(kejk) jew Person.sleep(issa), biex insemmu xi ftit eżempji).

Biex tiddefinixxi metodi f'Python, tuża l-keyword def, segwita mill-isem tal-metodu u sett ta 'parentesi, b'oġġett fakultattiv kif se tara f'minuta.

Dan kollu se jsir ħafna aktar ċar matul it-taqsima li jmiss fejn se ngħaddu f'eżempju reali.

Il-ħolqien tal-istruttura ta' applikazzjoni tal-web

Kif tista' tiftakar mill-Parti 1 ta' din is-serje Django, għidna li applikazzjoni tal-web teħtieġ database biex taħżen id-dejta. Meta toħloq app, Django awtomatikament iwaqqaf database Sqlite li taħdem tajjeb għal applikazzjonijiet ta 'daqs żgħir jew medju, u huwa dak li se nużaw f'dan il-każ biex naħżnu dejta għal app web klassika għall-ewwel darba: blog.

Biex tibda applikazzjoni ġdida ġewwa proġett (mill-mod, tista 'taħseb proġett bħala ġabra ta' applikazzjonijiet tal-web), mexxi l-kmand li ġej wara li tattiva l-ambjent virtwali li waqqafna fil-Parti 1 ta 'din is-serje.

# cd ~/myfirstdjangoenv/
# source myfirstdjangoenv/bin/activate
# cd ~/myfirstdjangoenv/myfirstdjangoproject
# python manage.py startapp myblog

Innota li tista' tbiddel l-isem tal-app (myblog) għal isem tal-għażla tiegħek – dan huwa biss identifikatur għall-applikazzjoni (jekk jogħġbok innota li l-kompiti ta' ġestjoni kollha huma invokati bl-użu tal-iskript manage.py permezz tal- python binarju - tħossok liberu li tesplora l-kodiċi tas-sors tagħha jekk għandek minuta):

Issa ejja mmorru ġewwa d-direttorju ta’ ġewwa myfirstdjangoproject u nsibu l-fajl settings.py, fejn se ngħidu lil Django biex juża myblog bħala applikazzjoni:

# cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

Fittex is-sezzjoni INSTALLED_APPS u żid il-myblog ġewwa kwotazzjonijiet singoli kif muri hawn taħt:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myblog'
)

(Mill-mod, il-linji li jibdew b'django hawn fuq jirrappreżentaw applikazzjonijiet Django oħra li huma attivati fil-proġett kurrenti awtomatikament meta jinħoloq għall-ewwel darba u suppost jgħinu lill-iżviluppatur fil-kitba tal-kodiċi relatat mal-amministrazzjoni, l-awtentikazzjoni, id-dikjarazzjonijiet tat-tip tal-kontenut, eċċ. fuq, fl-applikazzjoni tiegħu/tagħha).

Għalhekk, myblog se jiġi attivat, flimkien mal-applikazzjonijiet inkorporati l-oħra, f'dan il-każ ta 'Django.