ใน TU 4 นั้น จะนำ Form ของภาษา HTML เข้ามาใช้ใน Templates ที่เราได้สร้างไว้ใน Part 3 ก่อนหน้านี้พร้อมทั้งสามารถโหวต Choice ต่างๆของเราผ่านทาง Browser และบันทึกค่าลงใน Database ของเราได้อีกด้วยแถมท้ายด้วยการใช้ Generic View เพื่อให้โค้ดที่เขียนนั้นสั้นลงจากเดิม
ในส่วนแรกนั้นจะเป็นการเพิ่ม error_massage ที่ detail.html กล่าวคือเมื่อมีการ Error จะไม่ไปหน้า Error เหมือน TU ที่แล้ว แต่จะเป็นการแสดงข้อความขึ้นมา ว่าเกิดการ Error นะ
ต่อมาที่ views.py ที่ method vote จะเพิ่มคำสั่งที่ว่า หากไม่ได้เลือกช้อยส์ใดๆเลย และกด vote จะแสดงข้อความว่า You didn't select a choice. แต่ถ้าหากกดโหวตช้อยส์ใด ก็ให้คะแนนของช้อยส์นั้น +1
จากนั้นที่ method results กำหนดให้ pk = question_id ซึ่ง pk ย่อมาจาก primary key นั่นเอง
ไปที่ results.html จากโค้ดคือ ทำการเพิ่มลิงค์ที่เชื่อมไปยังหน้า detail หรือหน้าแสดงคำถาม โดยลิงค์จะแสดงข้อความว่า Vote again?
ไปที่ urls.py ที่ detail และ results จะเปลี่ยนจาก question_id เป็น pk ดังที่เราได้กำหนดไว้ข้างต้น
ในส่วนสุดท้าย ที่ views.py จะเปลี่ยนจาก method เป็น class ยกเว้น method vote เป็นการใช้ generic view เพื่อให้โค้ดอ่านง่ายขึ้น โดยศึกษา generic view เพิ่มเติมได้ที่ djangoproject.com
ไม่มีความคิดเห็น:
แสดงความคิดเห็น