การพัฒนา Web Application โดยใช้ Django ร่วมกับ Visual Studio 2015 ตอนที่ 2

pureewat jomza
Technologies For Everyone
3 min readApr 19, 2017

การกำหนดเส้นทางใน Django

กลไกนี้เป็นคุณสมบัติทั่วไปของแอปพลิเคชั่น MVC ซึ่งจะช่วยในการกำหนดโครงสร้าง URL และการจับคู่กับไฟล์ที่เฉพาะเจาะจงบนเซิร์ฟเวอร์

การกำหนดเส้นทางมันดียังไง

1.จัดการกับพวก extension ของ URL

2.จัดการกับ URIs และ ที่อยู่ของไฟล์

3.ทำให้อ่าน URL ได้ง่าย

4.เพื่อไม่ให้ user รู้ว่าเราใช้เทคโนโลยีอะไรใรการพัฒนาเว็บ

5.ง่ายต่อการค้นหา

การกำหนดค่าการนำทาง

โดยการกำหนดเส้นทาง จะถูกกำหนดที่ไฟล์ urls.py

Django framework มี 2 วิธีในการจัดการกับการนำทาง

- patterns() method: ใช้ในการรับค่า URL ที่เป็น URL Pattern จำนวนหลาย ๆ ค่า — → urlpatterns = []

- url() method: ใช้ในการกำหนดค่าของ URL Pattern ที่จะทำการส่งเข้าไปใน Patterns() → url()

จากตัวอย่าง จะเห็นได้ว่าจะมี Pattern method ซึ่งภายใน pattern method จะประกอบไปด้วยหลาย ๆ URL Pattern และภายในแต่ละ URL จะประกอบไปด้วย

1. Regular Expression: ใช้ในการตรวจสอบว่า url ที่กรอกผ่านหน้าเว็บตรงกับที่มีหรือไม่ (r’^……$’)

2. Destination Method: เมื่อ url ที่ใส่เข้ามาตรงกับที่มีอยู่แล้ว จะทำการเรียกหน้า view ที่ตรงกับ url นั้นออกมา (app.views.______)

3.Name

การเพิ่มค่า Parameter

ในแต่ละ URL จะประกอบไปด้วย Parameter ที่เกี่ยวข้องกับ Web Page นั้น ๆ เพื่อใช้ในการแสดงค่าบางค่าออกมา

ตัวอย่าง

จากตัวอย่างจะเห็นว่าใน URL ของ /books นั้น ถ้ากรอก URL แค่ /books นั้นก็จะเป็นการแสดงหนังสือทั้งหมดออกมา แต่ถ้าต้องการที่แสดงเฉพาะหนังสือเล่มที่ผู้ใช้ต้องการดูเท่านั้น ก็ทำการกำหนด Parameter จะเห็นได้ว่าในตัวอย่างได้ทำการใส่ Parameter คือ /(?P<id>\d+) ซึ่งเป็นการใช้ id ของหนังสือแต่ละเล่มในการเรียกข้อมูลของหนังสือเล่มนั้น ๆ ออกมาแสดง

Views

โดยข้อมูลของหน้า view นั้นจะอยู่ที่ไฟล์ views.py ซึ่ง view นั้นจะทำหน้าที่เป็นเหมือน function ในการรับ HTTP Request และส่งคืนค่าเป็น HTTP Response

จากตัวอย่างนั้นจะเป็นตัวอย่างของหน้า home และหน้า contact โดยจะมีส่วนประกอบ ดังนี้

1. เป็นส่วนที่ใช้ระบุหน้า โดยจะมีการตรวจสอบจากส่วนของ url pattern ว่าตรงกันหรือไม่ ถ้าตรงกับ view ก็จะทำการเรียก view นั้นออกมาแสดงผล → def ชื่อ WebPage(request)

2. Render: จะเป็นส่วนในการเรียกหาไฟล์ของ Web Page ที่เชื่อมต่อกับ url นั้น ๆ โดยจากตัวอย่างก็จะมีไฟล์ app/index.html ที่จะเชื่อมกับ view ของ home และ app/contact.html ที่จะเชื่อมกับ view ของ contact

เมื่อเริ่มการทำงานของ Web Site จะมีส่วนไหนที่เกี่ยวข้องกันบ้าง จะแสดงให้เห็นดังตัวอย่าง โดยในตัวอย่างจะทำการแสดงหน้าของ /contact

เมื่อทำการเรียกหน้า page ของ /contact ขึ้นมา โปรแกรมจะทำการตรวจสอบไปยังหน้า url.py เพื่อเช็คหา url ว่าตรงกันหรือไม่

เมื่อตรวจสอบว่า url ตรงกันแล้ว (r’^contact$’) จะตรวจต่อไปว่าอยู่ที่ view ไหน จาก app.views.contact นั่นเอง จากนั้นจะเรียกไปยังหน้า views.py ต่อไป

โดยภายใน views.py ก็จะทำการตรวจหา view ที่ตรงกับ contact และจะเรียกใช้ไฟล์ contact.html เพื่อเรียกออกมาแสดงผล

ภายในไฟล์ contact.html ผู้พัฒนาสามารถที่จะเขียน code เป็นภาษา html หรือภาษาเว็บอื่น ๆ ลงไปเพื่อทำการแก้ไข้ได้

--

--