วันพุธที่ 10 กุมภาพันธ์ พ.ศ. 2553

Turbogears2 Basic receive Data

ในส่วน turbogears2 นั้นถ้าเราเขียน method รับ request จะมีหน้าตาแบบนี้

@expose()
def func(self, *arg, **kw):
    pass

นี่คือหน้าตาปกติ โดยที่

self เป็นตัวแปรที่ทำหน้าที่แทน class controller ปัจจุบัน

*arg จะเป็น data ต่อจาก url เช่น
url = http://localhost:8080/func/a/b/c
*arg = ['a', 'b', 'c']

**kw จะเป็น name, value เช่น
url = http://localhost:8080/func?a=12&b=13&c=14
**kw = {'a':12, 'b':13, 'c':14}

-------------------------------------------

และในกรณีที่เราต้องการ data stream เช่นการ post xml มา
เราก็จะใช้ pylons ในการขอดูข้อมูล รูปแบบจะได้ดังนี้

@expose()
def func(self, *arg, **kw):
    body = pylons.request.body
    headers = pylons.request.headers

ให้ทำการ import pylons เข้ามาก่อน

body จะมีข้อมูลเป็น text string

header จะมีข้อมูลเป็น dict เก็บข้อมูล MIME Type ต่างๆ

ซึ่งทั้งหมดนี้ น่าจะครอบคลุมการทำงานได้หลากหลายครับ

ไม่มีความคิดเห็น: