Webprogrammering med Python

2002-02-12 19:36:19+01:00
  • Annonse-lenker
  • Gammel

I jula 1989 hadde ikke programmereren Guido Van Rossum noe å gjøre, så han lagde et nytt programmeringsspråk som han kalte Python (jada, han likte Monty Python). Fordi Python er gratis og er et meget lettforståelig språk, har det etterhvert fått en betydelig brukermasse. Og etter at du er ferdig med denne artikkelen er du kanskje en av dem. Du skal ihvertfall få komme igang med webprogrammering med Python på din Windows PC.

Python er et veldig nybegynnervennlig språk, så hvis du har liten eller ingen programmeringserfaring er Python trolig det beste programmeringsspråket du kan sette i gang med. Python er ikke bare for nybegynnere. Det kan brukes til alt fra enkle skript til store dataprogrammer med databaser og grafiske brukergrensesnitt.

Den enkle syntaksen gjør at det er lett å programmere i Python, og koden blir lett å forstå for andre enn programmereren. Som et eksempel kan vi ta det vanlige "Hello world!"-eksempelet :

print "Hello world!"

Det var det, og enklere kan det nesten ikke bli.

Konfigurasjon av Apache og Python

Hvis du skal bruke Python til webprogrammering, behøver du en webserver i tillegg til Python. Du kan for eksempel installere Apache. Den finnes i versjoner for de fleste vanlige operativsystemer, er helt gratis, og er det mest brukte serverprogrammet på hele nettet. Dokumentasjonen som følger med er rimelig bra, så det klarer du nok. I resten av denne artikkelen antar vi at du har installert Apache i katalogen C:\Apache, og at www-dokumenter skal ligge i katalogen C:\Apache\htdocs.

Hvis du ikke allerede har installert Python, kan du laste det ned her. Etter at du har installert Python må du konfigurere Apache sånn at den kan kjøre Pythonprogrammer. Det er to ting du må gjøre da. I konfigurasjonsfila til Apache (httpd.conf) finner linja hvor det står :

AddHandler cgi-script .cgi

Under denne linja legger du til :

AddHandler cgi-script .py

Det forteller Apache at den skal behandle .py-filer (Python) som cgi-skript. Deretter må du tillate kjøring av cgi-skript der du vil plassere Python-skriptene dine. Hvis du har installert Apache i C:\Apache, så kan du legge til :

<Directory "C:/Apache/htdocs/python">
Options ExecCGI
</Directory>

Dette forteller Apache at det er lov å kjøre cgi-skript i mappa python. Jeg anbefaler at du legger til dette i bunn av fila, eller der hvor de andre mappetillatelsene er bestemt.

Et enkelt Pythonskript

Så kan du åpne en ny fil, og fylle den med følgende (erstatt c:\Python22\python.exe med adressen der du har installert Python):

#!c:\Python22\python.exe
print "Content-type: text/html\n"

print "<html>"
tittel = "<title>Et enkelt pythonskript! :=)</title>"
def skriv_tittel():
    print tittel

tall_1 = 8
tall_2 = tall_1 + 7

print "<head>"
skriv_tittel()
print "</head>"
print "<body>"

print "Tall 1 er",tall_1,"<br />"
print "Tall 2 er",tall_2,"<br />"

print "</body>"
print "</html>"

Så lagrer du denne fila som C:/Apache/htdocs/python/index.py, og åpner adressen http://localhost/python/index.py i en nettleser. Hvis Apache går så ser du forhåpentligvis en side med tittel "Et enkelt pythonskript! :=)", og teksten :

Tall 1 er 8
Tall 2 er 15

Da kan vi gå gjennom skriptet. Først forteller vi serveren hvor Python finnes. På PCen min er det "c:\Python22\python.exe"

I neste linje skriver vi ut litt tekst som forteller at resultatet av skriptet er et html-dokument. Så for å skrive ut tekst skriver du

print "Teksten som skal skrives ut"

Deretter skriver vi ut "<html>".

I neste linje deklarerer vi en variabel som heter tittel. Variabelen tittel skal inneholde litt tekst som her er tittelen til sida.

Så kommer en funksjon ved navn skriv_tittel. I Python deklareres funksjoner med :

def funksjonsnavn():

Eventuelle argumenter legges inn mellom parantesene, og instruksjonene som skal utføres av funksjonen kommer på de påfølgende linjene som begynner litt lenger til høyre. I Python bestemmer margen hva som hører sammen, i motsetning til andre programmeringsspråk som bruker klammeparanteser eller begin og end.

Funksjonen vår skriver ut verdien i variabelen tittel. For å skrive ut en variabel skriver man altså print og så navnet på variabelen som skal skrives ut uten gåsetegn.

Variabler som inneholder tall brukes på samme måte. Variabelen tall_1 får verdien 8, og tall_2 får verdien av tall_1 pluss 7, som er 15.

Neste steg i et html-dokument er å skrive ut "<head>", og så skriver vi ut tittelen. Til det bruker vi funksjonen skriv_tittel.

Så kommer mer html-kode, før vi skriver ut en kombinasjon av tekst og variablene tall_1 og tall_2.

Tekst som skal skrives ut omgis med gåsetegn, og variabler som skal skrives ut omgis ikke med gåsetegn. Og forskjellige variabler og biter av tekst adskilles med komma.

Fungerer det ikke?

Hvis det er noe som ikke fungerer så kan du se i dokumentasjonen som følger med Apache og Python. Den ligger også på nettet her (Apache) og her (Python). Det er også hjelp å få i diverse forumer, for eksempel Devshed Forums. En mail til info@webutvikler.info kan hjelpe, men jeg kan ikke love at jeg kan løse problemene dine.

Men webhotellet mitt kjører Linux!

Selv om du har Windows på din PC, og webhotellet ditt kjører Linux, er det ikke noe problem å utvikle skript på din PC. Python fungerer like bra på Linux og Windows (og Mac). Det eneste du må forandre er linja som forteller hvor Python befinner seg. På Linux er det typisk "/usr/bin/python". Dette kan webhotellet ditt hjelpe deg med å finne ut av. Hvis webhotellet ditt ikke har Python, og ikke vil installere det, så kan du opprette en konto hos WebFaction. De støtter det meste du kan behøve til dine Python-drevne webapplikasjoner.

Ja, jeg vil lære Python!

Hvis du vil bli en ekspert i Python er du nok nødt til å investere i en god bok. Det finnes flere bøker som kan anbefales, og på denne siden er det et utvalg.

Og selvfølgelig er det mye nyttig informasjon og bra linker på det offisielle nettstedet til Python. Et annet nettsted med mye Python er DevShed

Real Time Analytics