วันอาทิตย์ที่ 16 เมษายน พ.ศ. 2560

Python กับการจำลองสร้าง Server อย่างง่าย(ตอนที่ 2)

ประเภทของ Webpage
    ก่อนจะเข้าเรื่อง Server ของตอนนี้ เราจะขอพูดถึงประเภทของ Webpage ก่อนนะ โดยเจ้า webpage จะแบ่งออกเป็นสองประเภทด้วยกันก็คือ
    - Static Webpage หรือชื่อไทยๆว่า เว็บเพจสถิต  เป็นเว็บเพจที่มีรูปแบบการนำเสนอที่ตายตัว ข้อมูลจะไม่เปลี่ยนแปลงจนกว่าผู้ที่สร้างเว็บจะอัพโหลดข้อมูลใหม่เข้าไปเอง ซึ่งหน้าเว็บไอดอลที่เขียนไปก่อนหน้านี้ก็จัดอยู่ในประเภทนี้ด้วย
    - Dynamic Webpage หรือ เว็บเพจพลวัต อันนี้จะเป็นหน้าเว็บที่จะตอบสนองกับผู้ใช้ได้ หรือสามารถเปลี่ยนแปลงข้อมูลเองได้ โดยไม่ต้องมานั่งเขียนแต่ละหน้าเว็บเพจใหม่เอง ซึ่งก็จะมีการนำภาษาอื่นๆเข้ามาช่วยในการเขียนด้วย เช่น PHP, ASP.net, JAVA,Python บลาๆๆๆ และก็มักจะมีการนำฐานข้อมูลมาเพื่อใช้บันทึกข้อมูลจากเว็บลงไปหรือไม่ก็ดึงข้อมูลออกมาใช้กับเว็บอีกด้วยนะ

    และหลังจากที่เคยสร้าง Static Webpage ไปแล้ว ในบทความนี้เราก็จะมาสร้าง Dynamic Webpage อย่างง๊ายง่ายด้วย Python CGI กัน ซึ่งเว็บที่จะทำนั่นก็คือเว็บ เครื่องคิดเลขอย่างง่าย นั่นเอง!



    เริ่มต้นกันที่ไฟล์แรกจะเป็นไฟล์ html ธรรมดาๆ ซึ่งจะสร้างเป็นแบบฟอร์ม มี input 4 ชุดก็คือ ตัวเลข 2 ชุด ratdio เลือกเครื่องหมาย 1 ชุด(มี 4 ตัวเลือก) และปุ่ม submit อีก 1 ชุด ที่เมื่อกดแล้วก็จะลิงค์ไปหาไฟล์ simplecal.py ในโฟลเดอร์ cgi-bin


    ถัดมาก็คือ simplecal.py ที่พูดถึงตะกี้นะ.. อ๊ะ! แล้วเป็นภาษา python แบบนี้จะออกมาเป็นหน้าเว็บได้ยังไงกันนะ??
    ก่อนอื่นเราก็ import cgi เข้ามาก่อนเลย ส่วนบรรทัดถัดมาก็เป็นการสร้างตัวแปรเพื่อที่จะดึงค่าจากหน้าเว็บตะกี้มาเพื่อใช้คำนวน ฟังก์ชั่นที่ใช้คำนวนก็เขียนเป็น python ธรรมดาได้เลย ส่วนที่จะทำเป็นส่วนแสดงผลนั้นก็ให้เขียนเป็นภาษา html ผ่านทางคำสั่ง print นะ โดยจะต้องมี print "Content-Type: text/html" ขึ้นก่อนด้วยเสมอ ห้ามลืมเด็ดขาดนะ!!
    จากนั้นก็สร้างโฟลเดอร์ cgi-bin ไว้ที่ที่เราคิดว่าจะทำการเปิด Server นะ ถ้าจะเปิดเซิฟที่ home ก็สร้างไว้ที่ home นั่นแหละ แล้วก็เอาไฟล์ simplecal.py ไปโยนใส่ไว้ใน cgi-bin ซะ!

    ขั้นตอนสุดท้ายก็คือ เราต้องอนุญาติให้ไฟล์ simplecal.py นี้สามารถที่จะ executing ได้ด้วย


(ขอบคุณข้อมูลดีๆจาก http://xmodulo.com/create-use-python-cgi-scripts.html ส่วนไหนไม่ได้อธิบายไว้ก็เข้าไปอ่านจากไหนนี้นะ 😥)

    เมื่อเสร็จเรียบร้อยแล้ว เราก็จะมาเปิด Server กันเถอะ ซึ่งคราวนี้เราจะเปลี่ยนจากคำสั่ง SimpleHTTPServer มาเป็น CGIHTTPServer แทนนะ(ย้ำอีกที ให้เปิดเซิฟตรงที่ที่เราสร้างโฟลเดอร์ cgi-bin ไว้นะ)


เอาล่ะ! มาดูผลลัพธ์กันเถอะ!!




ส่งท้ายด้วย "จะเกิดอะไรขึ้นกันนะ ถ้าใช้คำสั่ง SimpleHTTPServer เปิดเว็บที่ทำจาก Python CGI"
มันก็จะออกมาในลักษณะของ Text File นั่นเอง 55555

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

แสดงความคิดเห็น