วันอาทิตย์ที่ 1 ธันวาคม พ.ศ. 2556

Play with Django Tutorial 3

Building Software System II: Play with Django Tutorial 3
เริ่มต้นการเขียน Django app, Part 3

เริ่มต้นการเขียน views  
   เปิดไฟล์ views.py จาก directory polls ขึ้นมาเพื่อ แก้ไขโค้ดเป็นดังนี้



   อธิบายโค้ด 
       จากโค้ดข้างต้นเป็น method ที่ส่งค่าไปแสดงผลบน page ใน browser 
    
   ต่อมาเปิดไฟล์ urls.py จาก directory polls ขึ้นมาเพื่อ แก้ไขโค้ดเป็นดังนี้
      




   อธิบายโค้ด
       จากโค้ดข้างต้นเป็นการรับค่าจาก url มาจากนั้นจะเรียกฟังก์ชัน index ที่สร้างขึ้นในไฟล์ views ให้ทำงาน
     
    
   จากนั้นเปิดไฟล์ urls.py จาก directory ย่อยของ project ขึ้นมาเพื่อ แก้ไขโค้ดเป็นดังนี้      




     อธิบายโค้ด 
        ไฟล์ urls.py ของไดเร็คทอรี่นี้จะเป็นการ point ไปยัง root ของ polls.urls อีกที
  
   เปิด directory ที่สร้างโปรเจ็คนี้ไว้ โดย Terminal ด้วยคำสั่ง
       $ cd directory_django(ไดเร็คทอรี่โปรเจ็คที่สร้างไว้)

  ทำการ run server
       $ python manage.py runserver


      เมื่อลองใส่ url http://127.0.0.1:8000/polls/ที่ browser แล้วจะได้

การเขียน views 
   เพิ่มฟังก์ชันไปในไฟล์ poll/views.py ดังนี้

   อธิบายโค้ด
      จากโค้ดข้างต้นจะเห็นได้ว่า มีการเพิ่มฟังก์ชัน detail,result,และ vote ลงไป โดยแต่ละฟังก์ชันมีการใส่ argument เพิ่มไปด้วย

   ต่อมาให้แก้ไขไฟล์ poll/urls.py ดังนี้

     อธิบายโค้ด
       จากโค้ดจะเห็นได้ว่า เมื่อมีการรับค่าจาก url บน browser ในรูปแบบที่ตรงกัน ก็จะไปเรียกใช้ฟังก์ชันนั้นจาก views เช่น เมื่อ url เป็น http://127.0.0.0:8000/polls/34
ก็จะมีการเรียกใช้ฟังก์ชัน results ทำให้การแสดงผลบน page เป็นดังนี้


     หรือเมื่อ url เป็น http://127.0.0.0:8000/polls/34/results/ จะได้

    และเมื่อ url เป็น http://127.0.0.0:8000/polls/34/vote/ จะได้


การเขียน views ตามวัตถุประสงค์

  ให้ทำการแก้ไข polls/vews.py โดยเปลี่ยนรูปแบบของฟังก์ชัน index เป็นดังนี้

   อธิบายโค้ด  
      จากฟังก์ชัน index ที่ได้แก้ไขใหม่นั้น เป็นการเพิ่ม object ของ Poll ที่สร้างขึ้นจาก model ทำให้รูปแบบการแสดงผลเป็นดังนี้

  ต่อมาให้ทดลองใช้ template โดยสร้าง directory templates ไว้ใน directory polls และภายในนี้ ก็สร้าง directory polls อีกครั้ง จากนั้น จึงสร้างไฟล์ index.html ไว้ในไฟล์นี้ จึงได้เป็น polls/template/polls/index.html เพราะว่า template นี้เป็นของ polls ไม่ใช่ของ admin ดังที่เคยสร้างใน tutorial ก่อนหน้า จึงต้องจัดเก็บไฟล์ใช้ชัดเจน

 จากนั้นให้เปิดไฟล์ index.html ที่สร้างขึ้น แล้วเพิ่มโค้ดลงไปดังนี้


 เสร็จแล้วให้กลับไปแก้ไขไฟล์ views.py อีกครั้ง โดยเพิ่มส่วนของ context ไปดังรูป


 หลังจากแก้ไขไฟล์ต่างๆแล้วผลที่ได้ทำให้การแสดงผลมีลักษณะเช่นนี้













ที่มาและแหล่งค้นคว้าเพิ่มเติม: Django Documect Tutorial 3




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

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