สถาปัตยกรรม Django: ระบบการทำงานของ MVT Framework อธิบาย
เผยแพร่แล้ว: 2020-12-23สารบัญ
บทนำ
Django เป็นหนึ่งในเฟรมเวิร์กเว็บแอปพลิเคชันที่ง่ายและมีประสิทธิภาพซึ่งเขียนด้วยภาษา Python เฟรมเวิร์กนี้เป็นโอเพ่นซอร์สฟรีและด้วยเหตุนี้จึงแทนที่การใช้ PHP, เซิร์ฟเล็ต ฯลฯ เพื่อพัฒนาส่วนหลังของเว็บไซต์ ได้รับการพัฒนาโดย Django Software Foundation เมื่อวันที่ 15 กรกฎาคม พ.ศ. 2548
Django มอบข้อได้เปรียบเหนือใครจากความง่ายในการสร้างฐานข้อมูลสำหรับนักพัฒนาที่ทำงานบนเฟรมเวิร์กการพัฒนาเว็บที่ซับซ้อน ยิ่งไปกว่านั้น Django ยังให้หนึ่งในกระแสข้อมูลที่เร็วที่สุด และยังทำให้แน่ใจว่าความปลอดภัยจะไม่ถูกบุกรุก
สถาปัตยกรรมของ Django เป็นไปตามเฟรมเวิร์ก MVT เป็นหลัก ดังที่อธิบายไว้ด้านล่าง
- ม: นางแบบ
- วี: ดู
- T: แม่แบบ
MVT ถือได้ว่าเป็นอีกทางเลือกหนึ่งของเฟรมเวิร์ก MVC ซึ่งประกอบด้วย Model, View และ Controller ความแตกต่างที่สำคัญระหว่าง MVT และ MVC คือสถาปัตยกรรม Django ดูแลความรับผิดชอบที่จัดการโดยส่วนควบคุมของสถาปัตยกรรม MVC Django ใช้เทมเพลตเพื่อทำงานที่เกี่ยวข้องกับคอนโทรลเลอร์ พูดง่ายๆ ก็คือ เทมเพลตประกอบด้วยเนื้อหาที่เป็นส่วนผสมของภาษาเทมเพลต Django (หรือที่เรียกว่า DTL) และ HTML (Hyper Text Markup Language)
เทมเพลต ตามที่แนะนำข้างต้น รับผิดชอบการดำเนินการและการปรับแต่งที่เกี่ยวข้องกับ UI ทั้งหมดพร้อมกับกิจกรรมที่เกี่ยวข้องกับสถาปัตยกรรมของแอปพลิเคชัน ภายใต้เทมเพลต เรามี "มุมมอง" มุมมองใช้คำสั่งของการประมวลผลเชิงตรรกะและกิจกรรมการตัดสินใจของแอปพลิเคชันและยังสื่อสารกับ "แบบจำลอง" เพื่อดึงข้อมูลจุดข้อมูลที่เกี่ยวข้องและเปลี่ยนเทมเพลตตามความต้องการ
ตามที่กล่าวไว้ข้างต้น Django เองทำหน้าที่เป็นตัวควบคุมที่ดึง URL ที่เชื่อมต่อกับส่วนมุมมองของแอปพลิเคชันและในที่สุดก็ส่งการตอบกลับของผู้ใช้ตามลำดับไปยังแอปพลิเคชัน นี่คือการโต้ตอบโดยรวมที่เกิดขึ้นภายในสถาปัตยกรรม Django MVT

ต้องอ่าน: โครงการ Django บน Github
แบบอย่าง
ใน Django โมเดลนี้มีบทบาทสำคัญในการเชื่อมโยงสถาปัตยกรรมทั้งหมดเข้ากับฐานข้อมูล ในกระบวนการทั้งหมดนี้ แต่ละโมเดลจะเชื่อมต่อกับตารางเดียวภายในฐานข้อมูล เมธอดและฟิลด์ที่เกี่ยวข้องกับกระบวนการนี้ได้รับการประกาศในไฟล์แยกต่างหากซึ่งโดยทั่วไปกำหนดเป็น models.py
เมื่อกระบวนการเชื่อมโยงเสร็จสิ้นและทุกอย่างเชื่อมต่อกับฐานข้อมูลแล้ว เราจะสามารถประเมินทุกแถวหรือให้แม่นยำยิ่งขึ้น บันทึกจากตารางที่เกี่ยวข้อง และสามารถดำเนินการ DML ที่แตกต่างกันตามตารางได้
Django.db.models เป็นคลาสย่อยที่ใช้ในกรณีนี้ เราสามารถใช้ฟังก์ชันการนำเข้าเริ่มต้นของ Python เป็น "จากโมเดลการนำเข้า django.db"
โพสต์การกำหนดคอลัมน์ ตาราง และระเบียนของฐานข้อมูล เราจะดึงข้อมูลที่เชื่อมต่อกับแอปพลิเคชันโดยกล่าวถึงการแมปใน settings.py
ดู
ตรรกะโดยรวมของเฟรมเวิร์กโฟลว์ข้อมูลถูกกำหนดไว้ในส่วนนี้ของโมเดล รหัสทั้งหมดถูกกำหนดไว้ในไฟล์ views.py

งานอื่นของไฟล์มุมมองคือการส่งการตอบกลับไปยังผู้ใช้ที่เกี่ยวข้องทุกครั้งที่มีการใช้งานแอปพลิเคชัน ในแง่คนธรรมดา เราสามารถยืนยันได้ง่ายๆ ว่า view.py สามารถจัดการ HttpResponse ได้
เมื่อไฟล์การดูถูกสร้างขึ้น คำถามต่อไปที่อยู่ในใจของเราคือจะเชื่อมโยงไฟล์นี้กับแอปพลิเคชันของเราได้อย่างไร เราจะแน่ใจได้อย่างไรว่าเฟรมเวิร์กจะเข้าใจเมื่อต้องแสดงมุมมองเฉพาะ ความเข้าใจนี้สามารถสร้างขึ้นได้โดยการจับคู่ views.py ในไฟล์ urls.py ที่แยกจากกัน ตามที่เราได้กล่าวไว้ข้างต้น urls.py มีหน้าที่ในการติดตามหน้าที่แตกต่างกันทั้งหมด และจัดทำแผนที่แต่ละหน้า
แม่แบบ
เมื่อใดก็ตามที่เราต้องการสร้างเว็บไซต์แบบไดนามิกสำหรับการทำงานหรือฟังก์ชันที่ซับซ้อน เทมเพลตจะช่วยให้เราบรรลุเป้าหมายดังกล่าวได้อย่างง่ายดาย กล่าวอย่างง่าย ๆ เว็บไซต์ไดนามิกส่งและรับข้อมูลไดนามิกหรือการเปลี่ยนแปลง ข้อมูลไดนามิกมักจะเชื่อมโยงกับสถานการณ์ที่ผู้ใช้ทุกคนได้รับข้อมูลที่เป็นส่วนตัวของตนเอง ตัวอย่างเช่น โพสต์ในเว็บไซต์โซเชียลมีเดีย เช่น Facebook, Instagram, Twitter เป็นต้น หรือธุรกรรมต่างๆ ในผลิตภัณฑ์ฟินเทค เป็นต้น
เทมเพลตได้รับการตั้งค่าในไฟล์ settings.py ซึ่งอยู่ภายใต้ INSTALLED_APPS ดังนั้นรหัสหลามจะค้นหาไฟล์ที่เกี่ยวข้องภายใต้ไดเร็กทอรีย่อยเทมเพลต มี 2 ตัวเลือกในการดำเนินการนั้น— เราสามารถสร้างไฟล์ HTML หรือเพียงนำเข้าหน้าเว็บแบบไดนามิกผ่านเบราว์เซอร์และบันทึกไว้ในโฟลเดอร์เทมเพลตที่เกี่ยวข้อง
ตอนนี้ เพื่อรับคำตอบ เราจะเชื่อมโยงไฟล์นี้ใน urls.py และ views.py หลังจากกระบวนการเชื่อมโยงทั้งหมดเสร็จสิ้น เราก็สามารถเริ่มต้นใช้งานเว็บไซต์ของเราได้
นี่คือวิธีการทำงานของ Django ระเบียน Python หลักใช้เพื่อเชื่อมต่อระหว่างกันเพื่อแสดงหน้าเว็บของเรา ได้แก่ settings.py, view.py และ urls.py

เมื่อเราอธิบายลักษณะเหตุผลของเราที่นี่ เราจะมีกระบวนการทำงานที่เชื่อมต่อฐานข้อมูล นำแหล่งข้อมูลและปฏิกิริยาของลูกค้ามาใช้ และแสดงหน้าแบบไดนามิก หากคุณต้องการเจาะลึกใน Django ให้ดูที่เอกสารประกอบและทำความเข้าใจความเชื่อมโยงระหว่างพวกเขา
อ่านเพิ่มเติม: แนวคิดโครงการ Python Django
ลงทะเบียนเรียน หลักสูตรวิศวกรรมซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
เราเชื่อว่าคุณชอบบทสรุปกรอบงาน Django ของเรา หากคุณมีคำถามหรือคำแนะนำเกี่ยวกับบทความนี้ โปรดแจ้งให้เราทราบผ่านส่วนความคิดเห็นด้านล่าง เราชอบที่จะได้ยินการไตร่ตรองของคุณ
ในกรณีที่คุณสนใจที่จะศึกษา Django และเครื่องมือและเฟรมเวิร์กด้านวิศวกรรมแบบฟูลสแตกอื่นๆ ให้ดูที่ โปรแกรม Executive PG ของ upGrad และ IIIT-B ในการพัฒนาซอฟต์แวร์ฟูลสแต็ค ซึ่งมีไว้สำหรับผู้เชี่ยวชาญด้านการทำงานและมีการเตรียมการอย่างละเอียดถี่ถ้วนมากกว่า 500 รายการ , กิจการและงานมากกว่า 9 แห่ง, สถานะศิษย์เก่า IIIT-B, กิจการหลักที่สมเหตุสมผล และความช่วยเหลือด้านการจ้างงานกับบริษัทชั้นนำ
