Pagrepaso sa Python Basics ug Paghimo sa Imong Unang Web Application uban sa Django - Bahin 2


Sama sa among mubo nga pagkomento sa katapusang artikulo niini nga serye, ang Django usa ka libre ug bukas nga tinubdan sa web framework nga naghimo sa pagpalambo sa aplikasyon ngadto sa mas paspas nga buluhaton nga nahimo sa mas epektibo nga paagi - gikan sa punto sa panglantaw sa programmer.

Aron mahimo kini, gisunod ni Django ang sumbanan sa disenyo sa MVC (Model - View - Controller), o ingon nga estado sa ilang mga FAQ, mas maayo nga mahulagway kini ingon usa ka framework sa MTV (Model - Template - View).

Sa Django, ang usa ka pagtan-aw naghulagway kung unsang datos ang gipresentar sa user, samtang ang usa ka template naghulagway kung giunsa ang datos gipresentar. Sa katapusan, ang modelo mao ang gigikanan sa kasayuran bahin sa datos sa aplikasyon.

Niining artikuloha atong ribyuhon ang pipila ka sukaranan sa Python ug ipatin-aw kon unsaon pag-andam ang imong palibot sa paghimo ug yanong aplikasyon sa web sa sunod nga panudlo.

Pagkat-on sa pipila ka mga sukaranan sa Python

Isip usa ka object-oriented programming language, ang Python nag-organisar sa mga butang ngadto sa usa ka koleksyon sa mga butang nga adunay mga kabtangan (nailhan usab nga mga kinaiya) ug mga pamaagi (nailhan usab nga mga aksyon). Kini nagtugot kanamo sa paghubit sa usa ka butang sa makausa ug dayon sa paghimo og daghang mga higayon sa maong mga butang nga adunay parehas nga istruktura sa mga kabtangan ug mga pamaagi nga dili kinahanglan nga isulat ang tanan gikan sa wala matag oras. Ang mga butang sa ingon gihubit sa mga klase nga nagrepresentar kanila.

Pananglitan, ang usa ka tawo nga butang mahimong ipasabut ingon sa mosunod:

  1. Person.height
  2. Person.weight
  3. Person.age
  4. Person.ethniticity

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

Sama sa kadaghanan sa mga programming language, ang usa ka kabtangan gihubit pinaagi sa ngalan sa butang nga gisundan sa usa ka tulbok ug ang ngalan sa hiyas, samtang ang usa ka pamaagi gipakita sa parehas nga paagi apan gisundan usab sa usa ka pares nga parentheses (nga mahimo’g wala’y sulod o wala – sa sa ulahi nga kaso, kini mahimong adunay usa ka variable sa kansang bili ang pamaagi molihok, sama sa Person.eat(cake) o Person.sleep(karon), sa paghingalan sa pipila ka mga pananglitan).

Aron mahibal-an ang mga pamaagi sa Python, imong gamiton ang def keyword, gisundan sa ngalan sa pamaagi ug usa ka set sa mga parentheses, nga adunay opsyonal nga butang sama sa imong makita sa usa ka minuto.

Kining tanan mahimong mas klaro sa sunod nga seksyon diin kita mosalom sa tinuod nga pananglitan.

Paghimo sa istruktura sa usa ka web application

Sama sa imong mahinumduman gikan sa Bahin 1 niini nga serye sa Django, giingon namon nga ang usa ka aplikasyon sa web nanginahanglan usa ka database aron matipigan ang datos. Kung maghimo ka usa ka app, awtomatik nga nag-set up ang Django og database sa Sqlite nga molihok nga maayo alang sa gagmay hangtod sa tunga nga gidak-on nga mga aplikasyon, ug kini ang among gamiton sa kini nga kaso aron magtipig data alang sa usa ka klasiko nga una nga higayon nga web app: usa ka blog.

Aron makasugod ug bag-ong aplikasyon sa sulod sa usa ka proyekto (sa laing bahin, mahimo nimong hunahunaon ang usa ka proyekto isip usa ka koleksyon sa mga aplikasyon sa web), padagana ang mosunod nga sugo human ma-aktibo ang virtual nga palibot nga among gipahimutang sa Bahin 1 niini nga serye.

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

Timan-i nga mahimo nimong usbon ang ngalan sa app (myblog) para sa ngalan nga imong pilion – usa lang kini ka identifier para sa aplikasyon (palihug timan-i nga ang tanang buluhaton sa pagdumala gigamit gamit ang manage.py script pinaagi sa python binary - mobati nga gawasnon nga susihon ang gigikanan nga code kung adunay ka usa ka minuto):

Karon mosulod kita sa sulod nga myfirstdjangoproject nga direktoryo ug pangitaon ang file settings.py, diin atong sultihan si Django nga gamiton ang myblog isip aplikasyon:

# cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

Pangitaa ang INSTALLED_APPS nga seksyon ug idugang ang akong blog sulod sa usa ka kinutlo sama sa gipakita sa ubos:

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

(Sa laing bahin, ang mga linya nga nagsugod sa django sa ibabaw nagrepresentar sa ubang mga aplikasyon sa Django nga awtomatiko nga gi-aktibo sa karon nga proyekto kung kini una nga gibuhat ug kinahanglan nga motabang sa developer sa pagsulat sa code nga may kalabotan sa administrasyon, panghimatuud, mga deklarasyon sa tipo sa sulud, ug uban pa. sa, sa iyang aplikasyon).

Sa ingon, ang myblog mahimong aktibo, kauban ang uban pang mga built-in nga aplikasyon, sa kini nga Django nga pananglitan.