Gennemgang af grundlæggende om Python og oprettelse af din første webapplikation med Django - Del 2


Som vi kort kommenterede den sidste artikel i denne serie, er Django en gratis og open source-webramme, der gør applikationsudvikling til en hurtigere opgave udført på en mere effektiv måde - fra programmørens synspunkt.

For at gøre det følger Django MVC (Model - View - Controller) designmønsteret, eller som deres ofte stillede spørgsmål angiver, kan det bedre beskrives som en MTV (Model - Template - View) ramme.

I Django beskriver en "visning", hvilke data der præsenteres for brugeren, mens en skabelon beskriver, hvordan dataene præsenteres. Endelig er modellen kilden til information om data i applikationen.

I denne artikel gennemgår vi nogle grundlæggende om Python og forklarer, hvordan du forbereder dit miljø til at oprette en simpel webapplikation i den næste vejledning.

Lær nogle grundlæggende om Python

Som et objektorienteret programmeringssprog organiserer Python ting i en samling objekter med egenskaber (også kendt som attributter) og metoder (også kendt som handlinger). Dette giver os mulighed for at definere et objekt en gang og derefter oprette flere forekomster af sådanne objekter med den samme struktur af egenskaber og metoder uden at skulle skrive alt fra bunden hver gang. Objekter defineres således af klasser, der repræsenterer dem.

For eksempel kan et personobjekt defineres som følger:

  1. Personhøjde
  2. Personvægt
  3. Person.age
  4. Person. etnicitet

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

Som i de fleste programmeringssprog defineres en egenskab af objektets navn efterfulgt af en prik og attributens navn, mens en metode er angivet på samme måde, men også efterfulgt af et par parenteser (som kan være tomme eller ikke - i i sidstnævnte tilfælde kan den indeholde en variabel, hvis værdi metoden vil virke på, såsom Person.eat (kage) eller Person.sleep (nu), for at nævne et par eksempler).

For at definere metoder i Python bruger du def-nøgleordet efterfulgt af metodens navn og et sæt parenteser med et valgfrit objekt, som du vil se på et minut.

Alt dette bliver meget tydeligere i det næste afsnit, hvor vi vil dykke ned i et reelt eksempel.

Oprettelse af strukturen i en webapplikation

Som du måske husker fra del 1 i denne Django-serie, sagde vi, at en webapplikation kræver en database for at gemme data. Når du opretter en app, opretter Django automatisk en Sqlite-database, der fungerer fint til små til mellemstore applikationer, og det er det, vi vil bruge i dette tilfælde til at gemme data til en klassisk første gangs webapp: en blog.

For at starte en ny applikation inde i et projekt (forresten kan du tænke på et projekt som en samling af webapplikationer), skal du køre følgende kommando efter aktivering af det virtuelle miljø, vi oprettede i del 1 i denne serie.

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

Bemærk, at du kan ændre appens navn (myblog) for et navn, du vælger - dette er kun en identifikator for applikationen (bemærk, at alle ledelsesopgaver påkaldes ved hjælp af manage.py scriptet via python binær - er du velkommen til at udforske kildekoden, hvis du har et øjeblik):

Lad os nu gå ind i det indre myfirstdjangoproject-bibliotek og finde filen settings.py , hvor vi vil fortælle Django at bruge myblog som en applikation:

# cd ~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject

Se efter INSTALLED_APPS sektionen, og tilføj myblog inde i enkelte citater som vist nedenfor:

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

(Forresten repræsenterer linjerne, der begynder med django ovenfor, andre Django-applikationer, der aktiveres i det aktuelle projekt automatisk, når det først oprettes og formodes at hjælpe udvikleren med at skrive kode relateret til administration, godkendelse, indholdstypedeklarationer osv. den, i hans/hendes ansøgning).

Således bliver myblog aktiveret sammen med de andre indbyggede applikationer i denne Django-forekomst.