Django 101

วันสองวันมานี้ทดลองเล่น Django อยู่
มันเป็น yet another web framework น่ะแหละ แต่ว่าทำออกมาใช้ได้เลย

ปัญหาทั่วไปสำหรับคนทำเวบก็คือว่า พอเขียนหน้าเวบเสร็จแล้ว ต้องมาทำ backend ให้กับลูกค้า สามารถมา manage ได้ ซึ่งตรงเนี้ย น่าเบื่อโคตรๆ เพราะมันไม่มีอะไรเลย นอกจาก create/update/delete เท่านั้น โค้ดก็ซ้ำๆ เดิมๆ ทำไปหลายๆ project แล้วจะรู้สึกว่า มันน่าเบื่อโคตรๆ

Django นี่เป็น Model driven framework เต็มสูบ จำพวกเดียวกับ Ruby on Rails ที่กำลังร้อนแรงอยู่ตอนนี้ แต่พอดีว่าเขียน ruby ไม่เป็น ก็เลยไม่ได้หามาลองเล่น แต่ดูแค่ Intro video (50 MB นะ) ของมันก็ต้องอ้าปากค้างแล้ว

คือ developer ทำแค่กำหนด data model ให้เรียบร้อย จากนั้น framework มันจะ generate พวก API และหน้า backend ให้เอง
พวกงานรูทีนทั้งหลายก็ไม่ต้องทำ เอาเวลาไปโฟกัสพวก business logic กับทำหน้า user interface ให้ผู้ใช้ดีกว่า

พูดไปอาจจะไม่เห็นภาพ ลองดูอันนี้ละกัน คลิกเบาๆ นะ

ใช้ x11vnc กับ vnc2swf จับภาพมา คุณภาพใช้ได้เลยทีเดียว

  • romerun

    กูว่ามันทำ complex sql ไม่ได้อ่ะ model driven มันได้แต่ relation ง่ายๆ ซึ่งพอเอาไปใช้งานกันจริงๆก็ได้แต่ system ที่ไม่ซับซ้อน ซึ่งมันเอาไปใช้งานจริงๆจังๆไม่ได้ (บริษัทต่างๆสมมุติ sql มันสุดตีน select ซ้อนยุบยังใช้ with ใช้เอี้ยอะไรเพื่อ generate ทุกอย่างเต็มสูบ)

  • pit

    ^
    มันเขียน custom SQL ได้อะ
    เพิ่ม method เข้าไปให้ model ได้เลย

    class foo(meta.Model)
      # ...
      def get_custom_result(self):
        custom_sql = "SELECT ... "
        c = db.cursor()
        c.execute(custom_sql)
        return [c.fetchall()]