บทช่วยสอนการใช้งาน Django: คุณสมบัติ Archiการสอนและประวัติศาสตร์
⚡ สรุปอย่างชาญฉลาด
Django เป็นซอฟต์แวร์โอเพนซอร์สฟรี Python เฟรมเวิร์กเว็บที่สร้างขึ้นบนรูปแบบ Model-View-Template ช่วยให้พัฒนาเว็บไซต์ที่ปลอดภัย ปรับขนาดได้ และขับเคลื่อนด้วยฐานข้อมูลได้อย่างรวดเร็ว ผ่านส่วนประกอบที่นำกลับมาใช้ใหม่ได้ อินเทอร์เฟซผู้ดูแลระบบอัตโนมัติ และการออกแบบที่ครบครัน

Django เป็นระบบที่ขับเคลื่อนเว็บไซต์ขนาดใหญ่ที่สุดบางแห่งบนอินเทอร์เน็ต ในขณะเดียวกันก็ยังคง...ping การพัฒนาในแต่ละวันรวดเร็วและเป็นระบบ ก่อนที่จะสำรวจคุณสมบัติ สถาปัตยกรรม และประวัติความเป็นมา ส่วนต่างๆ ด้านล่างนี้จะเริ่มต้นด้วยพื้นฐานของเฟรมเวิร์กเว็บและสิ่งที่ทำให้ Django แตกต่างออกไป
สรุปการสอน Django
บทเรียน Django นี้ครอบคลุมหัวข้อพื้นฐานทั้งหมดตั้งแต่เริ่มต้น ในบทเรียนนี้ คุณจะได้เรียนรู้แนวคิดต่างๆ เช่น Django คืออะไร ประวัติความเป็นมา คุณสมบัติ ลักษณะเฉพาะของเฟรมเวิร์ก Django ส่วนประกอบของ Django ข้อดีและข้อเสีย และอื่นๆ อีกมากมาย
ก่อนที่จะเรียนรู้ Django เรามาทำความเข้าใจสิ่งต่อไปนี้กันก่อน:
เว็บเฟรมเวิร์กคืออะไร?
เฟรมเวิร์กเว็บคือไลบรารีโค้ดที่ช่วยให้คุณสร้างเว็บไซต์ แอปพลิเคชันเว็บ หรือบริการเว็บแบบไดนามิกที่มีความยืดหยุ่น ปรับขนาดได้ และบำรุงรักษาได้ง่าย เฟรมเวิร์กเว็บต่างๆ ได้แก่ Zend สำหรับ PHP ทับทิมบนราง สำหรับ Ruby และภาษาอื่นๆ
Django คืออะไร?
Django เป็นกรอบการพัฒนาเว็บไซต์สำหรับ Python ซึ่งนำเสนอวิธีการมาตรฐานสำหรับการพัฒนาเว็บไซต์ที่รวดเร็วและมีประสิทธิภาพ เป้าหมายหลักของเฟรมเวิร์กเว็บระดับสูงนี้คือการสร้างเว็บไซต์ที่ซับซ้อนซึ่งขับเคลื่อนด้วยฐานข้อมูล ช่วยให้คุณสร้างและบำรุงรักษาแอปพลิเคชันเว็บที่มีคุณภาพ ช่วยให้กระบวนการพัฒนาเป็นไปอย่างราบรื่นและประหยัดเวลาสำหรับการพัฒนาอย่างรวดเร็ว
ทำไมต้องจังโก้? ข้อดีที่สำคัญของจังโก้
นี่คือข้อดีหลักของ Django:
- Django ติดตั้งและใช้งานง่าย มีตัวเลือกมากมายให้เริ่มต้นใช้งานได้ทันที
- ระบบนี้มีอินเทอร์เฟซผู้ใช้ที่พร้อมใช้งานสำหรับกิจกรรมด้านการบริหารจัดการ
- ระบบนี้ช่วยให้สามารถใช้งานเว็บไซต์หลายภาษาได้โดยใช้ระบบการรองรับหลายภาษาในตัว
- ช่วยให้คุณรับมือกับปริมาณการใช้งานมหาศาลได้อย่างรวดเร็ว
- Django ถูกใช้ในการสร้างระบบจัดการเนื้อหาทุกประเภท เครือข่ายสังคมออนไลน์ รวมถึงแพลตฟอร์มการคำนวณทางวิทยาศาสตร์
- Django ช่วยให้คุณสามารถทดสอบแอปพลิเคชันแบบครบวงจรได้
- ช่วยให้คุณสามารถจัดทำเอกสารประกอบ API ของคุณด้วยผลลัพธ์ในรูปแบบ HTML
- เฟรมเวิร์ก REST รองรับโปรโตคอลการตรวจสอบสิทธิ์หลายประเภทอย่างครบถ้วน
- มันมีฟังก์ชันการกำหนดสิทธิ์และการจำกัดการใช้งาน
- มีการใช้กันอย่างแพร่หลายสำหรับคำขอ API ที่จำกัดอัตราจากผู้ใช้รายเดียว
ประวัติความเป็นมาของจังโก้
| ปี | ขั้น |
|---|---|
| 2003 | โครงการนี้เริ่มต้นโดย Adrian Holovaty และ Simon Willison ในฐานะโครงการภายในของหนังสือพิมพ์ Lawrence Journal-World |
| เดือนกรกฎาคม ปี 2005 | ภาพยนตร์เรื่องนี้เข้าฉายในเดือนกรกฎาคม ปี 2005 ในชื่อ “Django” ซึ่งตั้งชื่อตามนักกีตาร์แจ๊สชื่อดังอย่าง Django Reinhardt |
| มิถุนายน | มีการประกาศว่าซอฟต์แวร์ Django Foundation (DSF) จะรักษา Django ไว้ |
| 29 2009 กรกฎาคม | Django 1.1 เปิดตัวพร้อมฟีเจอร์ต่างๆ เช่น aggregates และการทดสอบแบบอิงธุรกรรม |
| 17 พฤษภาคม 2010 | Django 1.2 ได้ถูกปล่อยออกมาแล้ว การอัปเดตครั้งนี้ได้เพิ่มคุณสมบัติใหม่ๆ เช่น ฐานข้อมูลหลายตัวและระบบอีเมล รวมถึงการปรับปรุงระบบเซสชันและคุกกี้ |
| 23 2011 Mar | เวอร์ชัน 1.3 ได้เพิ่มคุณสมบัติใหม่ๆ เช่น มุมมองแบบคลาส และไฟล์คงที่ |
| 23 2012 Mar | เวอร์ชัน 1.4 เปิดตัวพร้อมคุณสมบัติใหม่ เช่น เขตเวลา และการทดสอบในเบราว์เซอร์ |
| 26 2013 กุมภาพันธ์ | เวอร์ชัน 1.5 มาพร้อมกับ Python 3 คุณสมบัติการรองรับและการกำหนดค่าโมเดลผู้ใช้ |
| 6 พฤศจิกายน 2013 | เวอร์ชัน 1.6 มาพร้อมกับคุณสมบัติการจัดการธุรกรรมฐานข้อมูลและการจัดการพูลการเชื่อมต่อ |
| 2 กันยายน 2014 | เวอร์ชัน 1.7 มีคุณสมบัติใหม่ เช่น การโหลดแอปพลิเคชัน การย้ายข้อมูล และการกำหนดค่า |
| 1 เมษายน 2015 | มีการรองรับการทำงานกับเอนจิ้นเทมเพลตหลายตัวโดยตรง |
| 1 ธ.ค. 2015 | ในเวอร์ชัน 1.9 ได้มีการเพิ่มฟีเจอร์ตรวจสอบรหัสผ่านอัตโนมัติเข้ามา |
| 1 2016 สิงหาคม | ในเวอร์ชัน 1.10 การค้นหาข้อความเต็มสำหรับ PostgreSQL ออกสู่ตลาด. |
| 4 เมษายน 2017 | เวอร์ชัน 1.11 เป็นเวอร์ชันสุดท้ายที่รองรับ Python 2.7. |
| 2 ธ.ค. 2017 | เวอร์ชัน 2.0 กลายเป็นเวอร์ชันแรก Python เวอร์ชันวางจำหน่ายเพียง 3 เวอร์ชันเท่านั้น |
| 1 2018 สิงหาคม | เวอร์ชัน 2.1 มาพร้อมกับคุณสมบัติรองรับการอนุญาต "ดู" โมเดล |
| 2021 | ลบการสนับสนุน Django 3.0 และเพิ่มการสนับสนุน Django 3.2 |
ในบทเรียน Django สำหรับผู้เริ่มต้นนี้ เรามาเรียนรู้เกี่ยวกับคุณสมบัติต่างๆ ของ Django กันเถอะ
คุณสมบัติของ Django
ด้านล่างนี้เป็นคุณสมบัติของ Django:
- ช่วยให้คุณกำหนดรูปแบบสำหรับ URLระบุในใบสมัครของคุณ
- เรียบง่ายแต่ทรงพลัง URL ระบบ
- ระบบตรวจสอบสิทธิ์ในตัว
- ฐานข้อมูลภาษาการเขียนโปรแกรมเชิงวัตถุซึ่งนำเสนอการจัดเก็บและเรียกค้นข้อมูลที่ดีที่สุดในระดับเดียวกัน
- ฟีเจอร์ส่วนติดต่อผู้ดูแลระบบอัตโนมัติช่วยให้สามารถเพิ่ม แก้ไข และลบรายการต่างๆ ได้ คุณสามารถปรับแต่งแผงควบคุมผู้ดูแลระบบได้ตามความต้องการของคุณ
- เฟรมเวิร์กแคชมาพร้อมกับกลไกการแคชหลายแบบ
ในบทเรียนเกี่ยวกับเฟรมเวิร์ก Django นี้ เราจะมาเรียนรู้เกี่ยวกับคุณลักษณะต่างๆ ของ Django กัน
ลักษณะของจังโก้
นี่คือคุณสมบัติหลักของ Django:
- เชื่อมโยงอย่างอิสระ – Django ช่วยให้คุณสร้างแต่ละองค์ประกอบในสแต็กให้เป็นอิสระจากองค์ประกอบอื่นๆ ได้
- Less รหัส – ช่วยให้การพัฒนาเป็นไปอย่างมีประสิทธิภาพ
- ไม่ซ้ำ – ทุกอย่างควรได้รับการพัฒนาในที่เดียวอย่างแม่นยำ แทนที่จะทำซ้ำหลายครั้ง
- การพัฒนาอย่างรวดเร็ว – Django ช่วยให้การพัฒนาแอปพลิเคชันรวดเร็วและเชื่อถือได้
- การออกแบบที่สอดคล้องกัน – Django มีดีไซน์ที่เรียบง่ายและทำให้ง่ายต่อการปฏิบัติตามแนวทางการพัฒนาเว็บที่ดีที่สุด
ในบทช่วยสอนสำหรับผู้เริ่มต้นใช้ Django ต่อไปนี้ เราจะเรียนรู้เกี่ยวกับสถาปัตยกรรมของ Django
Django Archiการสอน: MVC และ MVT
ด้านล่างนี้เป็นสถาปัตยกรรมโดยละเอียดของ Django:
Django Archiเทคเจอร์
รูปแบบ MVC
เมื่อพูดถึงแอปพลิเคชันที่มีส่วนติดต่อผู้ใช้ (เว็บหรือเดสก์ท็อป) เรามักจะพูดถึงสถาปัตยกรรม MVC รูปแบบ MVC นั้นประกอบด้วย Model, View และ Controller
การขอ รุ่น กำหนดโครงสร้างข้อมูลและจัดการการสืบค้นฐานข้อมูล
การขอ รายละเอียด กำหนดข้อมูลที่ควรนำเสนอและส่งกลับการตอบสนอง HTTP
การขอ ตัวควบคุม คือส่วนของแอปพลิเคชันที่จัดการการโต้ตอบกับผู้ใช้
รูปแบบ Django MVC-MVT
สถาปัตยกรรม Model-View-Template (MVT) เป็นแนวคิดที่แตกต่างจาก MVC ความแตกต่างหลักระหว่างสองรูปแบบสถาปัตยกรรมนี้คือ Django จัดการส่วน Controller (โค้ดซอฟต์แวร์ที่ควบคุมการโต้ตอบระหว่าง Model และ View) ด้วยตัวเอง ในขณะที่ Template เป็นไฟล์ HTML ที่ผสมผสานกับไฟล์ Django Template Language หรือที่เรียกว่า DTL
แผนภาพด้านล่างแสดงให้เห็นว่าส่วนประกอบทั้งหมดของรูปแบบ MVT ทำงานร่วมกันอย่างไรเพื่อตอบสนองคำขอเฉพาะของผู้ใช้
MVT Archiเทคเจอร์
ดังที่แสดงในแผนภาพด้านบน ผู้ใช้ร้องขอทรัพยากรจาก Django โดย Django ทำหน้าที่เป็นตัวควบคุมและตรวจสอบว่ามีทรัพยากรพร้อมใช้งานหรือไม่ URL.
ถ้า URL ในแผนที่นั้น จะมีการเรียกใช้ฟังก์ชันที่เรียกว่า "มุมมอง" ซึ่งจะโต้ตอบกับโมเดลและเทมเพลต จากนั้น Django จะตอบสนองต่อผู้ใช้และส่งเทมเพลตเป็นคำตอบ
ในบทเรียน Django สำหรับผู้เริ่มต้นชุดนี้ เราจะมาเรียนรู้เกี่ยวกับส่วนประกอบต่างๆ ของ Django กัน
ส่วนประกอบของจังโก้
ฟอร์ม
Django มีไลบรารีฟอร์มที่ทรงพลังซึ่งจัดการการเรนเดอร์ฟอร์มเป็น HTML ห้องสมุดช่วยในการตรวจสอบข้อมูลที่ส่งมาและแปลงเป็น Python ประเภท
การยืนยันตัวตน
ระบบนี้จัดการบัญชีผู้ใช้ กลุ่ม เซสชันผู้ใช้แบบใช้คุกกี้ และอื่นๆ อีกมากมาย
ผู้ดูแลระบบ
โดยจะอ่านข้อมูลเมตาในโมเดลของคุณเพื่อให้มีอินเทอร์เฟซที่มีประสิทธิภาพซึ่งสามารถใช้เพื่อจัดการเนื้อหาบนไซต์ของคุณได้
สากล
Django รองรับการแปลข้อความเป็นภาษาต่างๆ และการจัดรูปแบบวันที่ เวลา ตัวเลข และเขตเวลาให้เหมาะสมกับแต่ละท้องถิ่น
ความปลอดภัย
Django มีระบบป้องกันการโจมตีประเภทต่อไปนี้:
- การปลอมแปลงคำขอข้ามไซต์ (CSRF)
- การเขียนสคริปต์ข้ามไซต์
- การแทรก SQL
- Clickjacking
- การเรียกใช้รหัสระยะไกล
บริษัทชื่อดังที่ใช้ Django
ต่อไปนี้คือบริษัทต่างๆ ที่ใช้ Django:
- Bitbucket
- Disqus
- นาซา
- พีบีเอส (บริการกระจายเสียงและแพร่ภาพสาธารณะ)
- Mozilla
- วอชิงตันโพสต์
- นิวนิวยอร์กไทม์
- ไทม์ส
- การ์เดียน
- เนชั่นแนลจีโอกราฟฟิก
- ค้นพบช่องทาง
ข้อเสียของการใช้จังโก้
ต่อไปนี้คือข้อเสียบางประการของการใช้ Django:
- กระบวนการเดียวไม่สามารถจัดการคำขอหลายรายการพร้อมกันได้
- Django เป็นเครื่องมือที่มีโครงสร้างแบบรวมศูนย์มาก
- ส่วนประกอบต่างๆ มักถูกติดตั้งใช้งานพร้อมกัน ซึ่งอาจก่อให้เกิดความสับสนได้
- การทำงานกับ Django จำเป็นต้องมีความรู้เกี่ยวกับระบบทั้งหมด
- มันทำให้ส่วนประกอบของเว็บแอปพลิเคชันเชื่อมโยงกันอย่างแน่นหนา
- คุณต้องเขียนโปรแกรมที่มีความยาวสำหรับงานเล็กๆ น้อยๆ


