Python esaslaryny gözden geçirmek we Django bilen ilkinji web programmaňyzy döretmek - 2-nji bölüm


Bu tapgyryň soňky makalasyna gysgaça düşündiriş berşimiz ýaly, Django erkin we açyk çeşme web çarçuwasy bolup, programmanyň ösüşini has täsirli görnüşde - programmistiň nukdaýnazaryndan has çalt ýerine ýetirýär.

Munuň üçin Django MVC (Model - View - Controller) dizaýn nusgasyna eýerýär, ýa-da olaryň sorag-jogap soraglary ýaly, ony MTV (Model - Template - View) çarçuwasy hökmünde has gowy suratlandyryp bolar.

Django-da “görnüş” ulanyja haýsy maglumatlaryň hödürlenýändigini, şablon bolsa maglumatlaryň nähili görkezilýändigini görkezýär. Netijede, model programmadaky maglumatlar hakda maglumat çeşmesidir.

Bu makalada Python esaslaryny gözden geçireris we indiki sapakda ýönekeý web programmasyny döretmek üçin daşky gurşawyňyzy nädip taýýarlamalydygyny düşündireris.

Python esaslaryny öwreniň

Obýekte gönükdirilen programmirleme dili hökmünde Python zatlary häsiýetler (atributlar hem diýilýär) we usullar (hereketler diýlip hem bilinýär) obýektleriň ýygyndysyna guraýar. Bu, bir obýekti bir gezek kesgitlemäge, soň bolsa her gezek hemme zady başdan-aýaga ýazmazdan, birmeňzeş gurluş we usullara eýe bolan şeýle obýektleriň köp mysallaryny döretmäge mümkinçilik berýär. Obýektler, olary görkezýän synplar bilen kesgitlenýär.

Mysal üçin, Şahsy obýekt aşakdaky ýaly kesgitlenip bilner:

  1. Adam. beýiklik
  2. Adam. agramy
  3. Person.age
  4. Şahsyýet

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

Programmirleme dilleriniň köpüsinde bolşy ýaly, bir obýekt obýektiň ady bilen nokat we atributyň ady bilen kesgitlenýär, şol bir usul şol bir görnüşde görkezilýär, ýöne bir jübüt gabygyň yzy bilen (boş ýa-da ýok bolmagy mümkin) soňky ýagdaýda, birnäçe mysal görkezmek üçin Person.eat (tort) ýa-da Person.sleep (häzirki) ýaly usulyň gymmaty boýunça üýtgeýjini öz içine alyp biler.

Python-da usullary kesgitlemek üçin def açar sözüni, bir minutda görşüňiz ýaly islege bagly obýekt bilen usulyň ady we gabygyň toplumyny ulanarsyňyz.

Bularyň hemmesi hakyky mysala çümjek indiki bölümimizde has düşnükli bolar.

Web programmasynyň gurluşyny döretmek

Bu Django seriýasynyň 1-nji bölüminden ýadyňyzda bolsa, web programmasynyň maglumatlary saklamak üçin maglumat bazasy talap edýändigini aýtdyk. Programma döredeniňizde, Django awtomatiki usulda kiçi we orta göwrümli programmalar üçin oňat işleýän Sqlite maglumat bazasyny döredýär we bu ýagdaýda ilkinji gezek nusgawy web programmasy: blog üçin maglumat saklamak üçin ulanarys.

Taslamanyň içinde täze programma başlamak üçin (aýtsak, bir taslamany web programmalarynyň ýygyndysy diýip pikir edip bilersiňiz), şu seriýanyň 1-nji bölüminde guran wirtual gurşawy işjeňleşdireniňizden soň aşakdaky buýrugy işlediň.

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

Programmanyň adyny (myblog) saýlap alan adyňyz üçin üýtgedip biljekdigiňize üns beriň - bu diňe programma üçin kesgitleýji (ähli dolandyryş meseleleriniň management.py skripti arkaly ulanylýandygyny ýadyňyzdan çykarmaň) python ikili - bir minut wagtyňyz bar bolsa deslapky kody öwrenip bilersiňiz):

Indi içerki myfirstdjangoproject katalogymyza gireliň we settings.py faýly tapalyň, şol ýerde Django-a myblogy programma hökmünde ulanmagy aýdarys:

# cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

INSTALLED_APPS bölümini gözläň we aşakda görkezilişi ýaly ýekeje sitatanyň içinde myblog goşuň:

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

. ýüz tutmasynda).

Şeýlelik bilen, Django mysalynda myblog beýleki gurlan programmalar bilen bilelikde işjeňleşer.