ในบทนี้ผมจะอธิบายเกี่ยวกับการรับข้อมูลจาก url โดยผมจะยกตัวอย่างเกี่ยวกับเวลามาครับ
เริ่มต้นก็ทำการสร้าง project จากนั้นเราจะทำการแก้ไขไฟล์ urls.py โดยที่การแก้ไขไฟล์ urls.py นั้นเราจะกำหนดให้มีการรับค่าจาก url เข้ามาว่าจะเป็น integer หรือ character โดยในที่นี้ผมจะรับค่ามาเป็น integer
การรับค่ามาเป็นตัวเลขนั้นจะใช้ (\d) จะสามารถรับตัวเลขได้ 1 ตัว การจะรับค่ามากกว่า 1 ตัว ต้องใส่ + เข้าไป
จากนั้นให้ทำการสร้างไฟล์ views.py แล้วทำการ coding ดังนี้
ในฟังก์ชั่น time นั้นจะเป็นการแสดงเวลาปัจจุบัน และมีการเปลี่ยน format ของเวลาให้ดูง่ายขึ้นจากนั้นก็จะทำการเขียนข้อความ html ส่งออกไป
ในฟังก์ชั่น hours_ahead นั้นเป็นฟังก์ชั่นการแสดงชั่วโมงข้างหน้า โดยรับค่ามาจาก url เก็บไว้ในตัวแปร offset ที่กำหนดใน parameter จากนั้นจะทำการเซ็ทค่าชั่วโมงที่รับมาจาก url โดยใช้ datetime.timedelta() ในการเซ็ท จากนั้นก็นำไปบวกกับเวลาปัจจุบันแล้วส่งค่าออกไป โดยฟังก์ชั่น hours_ahead , days_ahead และ weeks_ahead จะมีการทำงานเหมือนกัน เพียงแต่เปลี่ยนข้อความที่ส่งออกไป
สุดท้ายเราจะจัดการเปลี่ยนช่วงเวลา Time zone ในไฟล์ settings.py เมื่อเปิดไฟล์ settings.py ให้หา Time zone จากนั้นเปลี่ยนจาก 'UTC' เป็น 'Asia/Bangkok'
ข้อมูลอ้างอิง : Django Book




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