บทช่วยสอน Django สำหรับผู้เริ่มต้น: คุณสมบัติ Archiการสอนและประวัติศาสตร์
สรุปการสอน Django
บทช่วยสอน Django นี้ครอบคลุมหัวข้อพื้นฐานทั้งหมดตั้งแต่ต้น ในบทช่วยสอนนี้ คุณจะได้เรียนรู้แนวคิดต่างๆ เช่น Django คืออะไร ประวัติของ Django คุณสมบัติของ Django คุณลักษณะของเฟรมเวิร์ก Django ส่วนประกอบของ Django ข้อดีและข้อเสีย และอื่นๆ อีกมากมาย
ก่อนที่จะเรียน Django มาทำความเข้าใจกันก่อน:
เว็บเฟรมเวิร์กคืออะไร?
เว็บเฟรมเวิร์กคือไลบรารีโค้ดที่ช่วยให้คุณสร้างไลบรารี่ที่ยืดหยุ่น ปรับขนาดได้ และบำรุงรักษาได้ เว็บไซต์แบบไดนามิก เว็บแอป และบริการบนเว็บ กรอบงานเว็บที่แตกต่างกันคือ Zend สำหรับ PHP ทับทิมบนราง สำหรับ Ruby เป็นต้น
Django คืออะไร?
Django เป็นกรอบการพัฒนาเว็บไซต์สำหรับ Python ซึ่งนำเสนอวิธีมาตรฐานสำหรับการพัฒนาเว็บไซต์อย่างรวดเร็วและมีประสิทธิภาพ เป้าหมายหลักของกรอบงานเว็บระดับสูงนี้คือการสร้างเว็บไซต์ที่ขับเคลื่อนด้วยฐานข้อมูลที่ซับซ้อน ช่วยให้คุณสร้างและดูแลแอปพลิเคชันเว็บที่มีคุณภาพ ช่วยให้คุณทำให้กระบวนการพัฒนาราบรื่นและประหยัดเวลาสำหรับการพัฒนาอย่างรวดเร็ว
ทำไมต้องจังโก้? ข้อดีที่สำคัญของจังโก้
นี่คือข้อดีหลักของ Django:
- Django ติดตั้งและรันได้ง่าย มีตัวเลือกมากมายในการเริ่มต้น
- มีส่วนติดต่อผู้ใช้ที่พร้อมใช้งานสำหรับกิจกรรมการดูแลระบบ
- ช่วยให้เว็บไซต์หลายภาษาโดยใช้ระบบสากลในตัว
- ช่วยให้คุณตอบสนองความต้องการปริมาณข้อมูลจำนวนมากได้อย่างรวดเร็ว
- Django ใช้เพื่อสร้างระบบการจัดการเนื้อหาทุกประเภท โซเชียลเน็ตเวิร์ก รวมถึงแพลตฟอร์มคอมพิวเตอร์ทางวิทยาศาสตร์
- Django ช่วยให้คุณทำการทดสอบแอปพลิเคชันแบบครบวงจร
- ช่วยให้คุณจัดทำเอกสาร API ของคุณด้วยเอาต์พุต HTML
- REST Framework มีการสนับสนุนมากมายสำหรับโปรโตคอลการตรวจสอบความถูกต้องหลายแบบ
- สิทธิ์และนโยบายการควบคุมปริมาณ
- มีการใช้กันอย่างแพร่หลายสำหรับคำขอ API ที่จำกัดอัตราจากผู้ใช้รายเดียว
ประวัติความเป็นมาของจังโก้
| ปี | ขั้น |
|---|---|
| 2003 | โครงการนี้เริ่มต้นโดย Adian Holovaty และ Simon Willison ในฐานะโครงการภายในของหนังสือพิมพ์ Lawrence Journal-World |
| เดือนกรกฎาคม ปี 2005 | เปิดตัวในเดือนกรกฎาคม พ.ศ. 2005 ในชื่อ “Django” ซึ่งตั้งชื่อตามนักกีตาร์แจ๊ส Django Reinhard |
| มิถุนายน | ประกาศว่าซอฟต์แวร์ 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 มาพร้อมกับการจัดการธุรกรรม DB และฟีเจอร์การรวมการเชื่อมต่อ |
| 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:
- Loosely Coupled- Django ช่วยให้คุณสร้างแต่ละองค์ประกอบของสแต็กแยกจากกัน
- Less รหัส- รับประกันการพัฒนาที่มีประสิทธิภาพ
- ไม่ทำซ้ำ - ทุกอย่างควรได้รับการพัฒนาในที่เดียวแทนที่จะทำซ้ำอีกครั้ง
- การพัฒนาที่รวดเร็ว - Django's นำเสนอการพัฒนาแอปพลิเคชันที่รวดเร็วและเชื่อถือได้
- การออกแบบที่สม่ำเสมอ - Django รักษาการออกแบบที่สะอาดตาและทำให้ง่ายต่อการปฏิบัติตามแนวทางปฏิบัติในการพัฒนาเว็บไซต์ที่ดีที่สุด
ในบทช่วยสอนสำหรับผู้เริ่มต้นใช้ Django ต่อไปนี้ เราจะเรียนรู้เกี่ยวกับสถาปัตยกรรมของ Django
Django Archiการสอน: MVC และ MVT
ด้านล่างนี้เป็นสถาปัตยกรรมโดยละเอียดของ Django:

รูปแบบ MVC
เมื่อพูดถึงแอปพลิเคชันที่ให้บริการ UI (เว็บหรือเดสก์ท็อป) เรามักจะพูดถึงสถาปัตยกรรม MVC ซึ่งรูปแบบ MVC จะขึ้นอยู่กับ Model, View และ Controller
การขอ รุ่น กำหนดโครงสร้างข้อมูลและดูแลการสืบค้นฐานข้อมูล
การขอ รายละเอียด กำหนดข้อมูลที่ควรนำเสนอและส่งกลับการตอบสนอง HTTP
การขอ ตัวควบคุม เป็นส่วนหนึ่งของแอปพลิเคชันที่จัดการการโต้ตอบของผู้ใช้
รูปแบบ Django MVC-MVT
Model-View-Template (MVT) เป็นแนวคิดที่แตกต่างจาก MVC ความแตกต่างหลักระหว่างรูปแบบสถาปัตยกรรมทั้งสองนี้คือ Django จัดการส่วน Controller (โค้ดซอฟต์แวร์ที่ควบคุมการโต้ตอบระหว่าง Model และ View) เอง เทมเพลตเป็นไฟล์ HTML ที่ผสมกับไฟล์ Django Template Language ซึ่งเรียกอีกอย่างว่า DTL
แผนภาพด้านล่างแสดงวิธีที่ส่วนประกอบทั้งหมดของรูปแบบ MVT โต้ตอบกันเพื่อให้บริการตามคำขอของผู้ใช้โดยเฉพาะ
ดังที่เห็นในแผนภาพด้านบน ผู้ใช้ร้องขอทรัพยากรไปยัง Django Django ทำหน้าที่เป็นผู้ควบคุมและตรวจสอบทรัพยากรที่มีอยู่ใน URL
หากแมป URL มุมมองจะถูกเรียกซึ่งโต้ตอบกับโมเดลและเทมเพลต จากนั้น Django ตอบกลับผู้ใช้และส่งเทมเพลตเป็นการตอบกลับ
ในซีรีส์บทช่วยสอน Django สำหรับผู้เริ่มต้น เราจะเรียนรู้เกี่ยวกับส่วนประกอบของ Django
ส่วนประกอบของจังโก้
ฟอร์ม
Django มีไลบรารีฟอร์มที่ทรงพลังซึ่งจัดการการเรนเดอร์ฟอร์มเป็น HTML ห้องสมุดช่วยในการตรวจสอบข้อมูลที่ส่งมาและแปลงเป็น Python ประเภท
การยืนยันตัวตน
จัดการบัญชีผู้ใช้ กลุ่ม เซสชันผู้ใช้ที่ใช้คุกกี้ ฯลฯ
ผู้ดูแลระบบ
โดยจะอ่านข้อมูลเมตาในโมเดลของคุณเพื่อให้มีอินเทอร์เฟซที่มีประสิทธิภาพซึ่งสามารถใช้เพื่อจัดการเนื้อหาบนไซต์ของคุณได้
สากล
Django รองรับการแปลข้อความเป็นภาษาต่างๆ การจัดรูปแบบวันที่ เวลา ตัวเลข และเขตเวลาเฉพาะตามสถานที่
ความปลอดภัย
Django ช่วยป้องกันการโจมตีต่อไปนี้:
- การปลอมแปลงคำขอข้ามไซต์ (CSRF)
- การเขียนสคริปต์ข้ามไซต์
- การแทรก SQL
- Clickjacking
- การเรียกใช้รหัสระยะไกล
บริษัทชื่อดังที่ใช้ Django
นี่คือบริษัทที่ใช้ Django:
- BitBucket
- อภิปราย
- นาซา
- พีบีเอส (บริการกระจายเสียงและแพร่ภาพสาธารณะ)
- Mozilla
- วอชิงตันโพสต์
- นิวยอร์กไทม์ส
- ไทม์สลุยเซียน่า
- เดอะการ์เดียนเนชั่นแนลจีโอกราฟฟิก
- ค้นพบช่องทาง
ข้อเสียของการใช้จังโก้
- กระบวนการไม่สามารถจัดการคำขอหลายรายการพร้อมกันได้
- Django เป็นเครื่องมือที่มีเสาหินมาก
- ส่วนประกอบต่างๆ ถูกนำไปใช้ร่วมกันซึ่งอาจทำให้เกิดความสับสนได้
- ความรู้เกี่ยวกับระบบเต็มรูปแบบที่จำเป็นในการทำงานกับ Django
- ทำให้ส่วนประกอบของแอปพลิเคชันเว็บเชื่อมโยงกันอย่างแน่นหนา
- คุณต้องเขียนโปรแกรมที่มีความยาวสำหรับงานเล็กๆ น้อยๆ
สรุป
- Django เป็นเฟรมเวิร์กการพัฒนาเว็บไซต์สำหรับ Python ซึ่งนำเสนอวิธีการมาตรฐานในการพัฒนาเว็บไซต์ที่รวดเร็วและมีประสิทธิภาพ
- Django เริ่มต้นโดย Adian Holovaty และ Simon Willison เป็นโครงการภายในที่หนังสือพิมพ์ Lawrence Journal-World ในปี 2003
- Django ช่วยให้คุณจัดทำเอกสาร API ของคุณด้วยเอาต์พุต HTML
- Django ช่วยให้คุณสามารถปรับแต่งแผงผู้ดูแลระบบได้ตามความต้องการของคุณ
- Django ช่วยให้คุณสร้างแต่ละองค์ประกอบของสแต็กแยกจากกัน
- ความแตกต่างหลักระหว่างรูปแบบสถาปัตยกรรม MVC และ MVT คือ Django จัดการส่วนควบคุมเอง
- ส่วนประกอบที่สำคัญของสถาปัตยกรรม Django ได้แก่ แบบฟอร์ม การรับรองความถูกต้อง การดูแลระบบ การแปลเป็นภาษาอื่น และความปลอดภัย
- Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla และอื่นๆ ใช้ Django
- ข้อเสียที่ใหญ่ที่สุดของ Django คือมันไม่สามารถจัดการคำขอหลายรายการพร้อมกันได้
