Andrise programmeerimisalane WIKI
Veebispetsiifilised elemendid
Kõik sisenevate päringuga seotud andmed asuvad objektis self.request ning väljuvate andmetega seotud andmed asuvad objektis self.response. Näiteks kui on vaja midagi väljastada, saab seda teha omadusega out
self.response.out.write("see läheb ekraanile")
või kui on vaja ise seada päringu vastuskoodi (vaikimisi on selleks 200, kui päring õnnestus või 500, kui esines viga), saab seda teha meetodiga set_status.
self.reponse.set_status(404)
Nii läheb brauserile teade, nagu poleks vastavat faili leitud (veakood 404).
GET ja POST parameetrid
Kõik GET ja POST parameetrid saab kätte objektist self.request meetodiga get, mille parameetriks on otsitava muutuja nimetus.
Juhul kui kasutatav URL on kujul http://www.example.com/?nimi=Peeter%20Meeter, sisaldab see ühte GET parameetrit, mille nimeks on nimi ja väärtuseks Peeter Meeter.
nimi = self.request.get("nimi")
POST parameetrid saab kätte täpselt sama moodi, mingisugust vahe tegemist neil ei ole. Isegi kui tegu on failide üleslaadimisega, saab failide sisud kätte get meetodiga. Ainult failinime jaoks on vaja veidi teist lähenemist, selle saab kätte params massiivist.
faili_sisu = self.request.get('fail') faili_nimi = self.request.params['fail'].filename
Meetod get omab lisaks muutuja nimele ka valikulist parameetrit, mis seab tagastusväärtuse juhul kui antud väärtust ei leitud. nimi = self.request.get(„nimi“, „nime pole“)
Küpsised
Küpsised saab kätte objektist self.request.cookies samuti meetodiga get.
kypsis = self.request.cookies.get('kypsis')
Küpsiste seadmine on juba keerulisem, olles sisuliselt samasugune nagu JavaScripti küpsiste seadmine - väärtus tuleb lisada korrektselt vormindatuna vastuse päisesse.
self.response.headers.add_header('Set-Cookie', 'kypsis=%s' % kypsise_vaartus)
Vastusepäise seadmine
Päringule vastates saab erinevaid päiseparameetreid seada kahel viisil. Kas headers.add_header meetodiga lisades või siis headers massiivi elemente lisades/üle kirjutades.
self.response.headers.add_header('Content-Type', 'text/plain') # või alternatiivselt sama: self.response.headers['Content-Type'] = 'text/plain'
Kõiki päisevälju ise seada ei saa - juhul kui seda proovida, kirjutatakse väärtus Google App Engine poolt üle. Sellisteks väljadeks on näiteks Content-Length ja Content-Encoding.