Iwwerpréift Python Basics an Erstellt Är Éischt Webapplikatioun mat Django - Deel 2


Wéi mir de leschten Artikel vun dëser Serie kuerz kommentéiert hunn, ass Django e gratis an Open Source Web Kader deen d'Applikatiounsentwécklung an eng méi séier Aufgab mécht op eng méi effektiv Manéier - aus der Siicht vum Programméierer.

Fir dat ze maachen, follegt Django dem MVC (Model - View - Controller) Designmuster, oder wéi hir FAQs soen, kann et besser als MTV (Model - Template - View) Kader beschriwwe ginn.

Am Django beschreift eng Vue wéi eng Donnéeën dem Benotzer presentéiert ginn, wärend eng Schabloun beschreift wéi d'Date presentéiert ginn. Schlussendlech ass de Modell d'Quell vun Informatioun iwwer Daten an der Applikatioun.

An dësem Artikel wäerte mir e puer Python Basics iwwerpréiwen an erkläre wéi Dir Äert Ëmfeld virbereet fir eng einfach Webapplikatioun am nächsten Tutorial ze kreéieren.

Léiert e puer Python Basics

Als objektorientéiert Programmiersprache organiséiert Python Saachen an eng Sammlung vun Objeten mat Eegeschaften (och bekannt als Attributer) a Methoden (och bekannt als Aktiounen). Dëst erlaabt eis en Objet eemol ze definéieren an dann e puer Instanzen vun esou Objeten mat der selwechter Struktur vun Eegeschaften a Methoden ze schafen ouni all Kéier alles vun Null ze schreiwen. Objekter ginn also vu Klassen definéiert déi se vertrieden.

Zum Beispill, e Persoun Objet kéint wéi follegt definéiert ginn:

  1. Person.height
  2. Persoun.gewicht
  3. Persoun.age
  4. Person.ethnicity

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

Wéi an de meeschte Programméierungssproochen, gëtt eng Eegeschaft duerch den Numm vum Objet definéiert, gefollegt vun engem Punkt an dem Attributnumm, wärend eng Method op déiselwecht Manéier uginn ass awer och gefollegt vun e Paar Klammern (déi eidel sinn oder net - an der am leschte Fall kann et eng Variabel enthalen, op deem säi Wäert d'Method wäert handelen, wéi Person.eat(cake) oder Person.sleep(now), fir e puer Beispiller ze nennen).

Fir Methoden am Python ze definéieren, benotzt Dir d'Def Schlësselwuert, gefollegt vum Numm vun der Method an e Set vu Klammern, mat engem optionalen Objet wéi Dir an enger Minutt gesitt.

All dëst wäert vill méi kloer ginn an der nächster Sektioun, wou mir an e richtegt Beispill dauchen.

D'Struktur vun enger Webapplikatioun erstellen

Wéi Dir Iech aus dem Deel 1 vun dëser Django Serie erënnert, hu mir gesot datt eng Webapplikatioun eng Datebank erfuerdert fir Daten ze späicheren. Wann Dir eng App erstellt, stellt Django automatesch eng Sqlite-Datebank op déi just gutt funktionnéiert fir kleng bis mëttelgrouss Uwendungen, an ass wat mir an dësem Fall benotze fir Daten fir eng klassesch éischte Kéier Web App ze späicheren: e Blog.

Fir eng nei Applikatioun bannent engem Projet unzefänken (iwwregens, Dir kënnt e Projet als eng Sammlung vu Webapplikatiounen denken), fuert de folgende Kommando nodeems Dir dat virtuellt Ëmfeld aktivéiert, deen mir am Deel 1 vun dëser Serie ageriicht hunn.

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

Notéiert datt Dir den Numm vun der App (myblog) fir e Numm vun Ärer Wiel änneren kënnt - dëst ass nëmmen en Identifizéierer fir d'Applikatioun (notéiert w.e.g. datt all Gestiounsaufgaben mam manage.py Skript iwwer de python binär - fillt sech fräi fir säi Quellcode z'entdecken wann Dir eng Minutt hutt):

Loosst eis elo an den banneschten myfirstdjangoproject Verzeichnis goen an d'Datei fannen settings.py, wou mir dem Django soen myblog als Applikatioun ze benotzen:

# cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

Kuckt no der INSTALLED_APPS Sektioun a füügt myblog an eenzel Zitater bäi wéi hei ënnendrënner:

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

(Iwwregens, d'Zeilen, déi mam django uewe starten, representéieren aner Django Uwendungen, déi am aktuelle Projet automatesch aktivéiert ginn wann et fir d'éischt erstallt gëtt a sollen den Entwéckler hëllefe beim Schreiwen vum Code am Zesummenhang mat Administratioun, Authentifikatioun, Inhaltstyp Deklaratiounen, asw. op, a senger Demande).

Also gëtt myblog aktivéiert, zesumme mat den aneren agebaute Applikatiounen, an dëser Django Instanz.