บทช่วยสอน 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.
If URL ในแผนที่นั้น จะมีการเรียกใช้ฟังก์ชัน view ซึ่งจะโต้ตอบกับ model และ template จากนั้น Django จะตอบกลับผู้ใช้และส่ง template เป็นการตอบกลับ
ในซีรีส์บทช่วยสอน 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 ได้แก่ แบบฟอร์ม การรับรองความถูกต้อง การดูแลระบบ การแปลเป็นภาษาอื่น และความปลอดภัย
- BitbucketDISQUS, NASA, Pinterest, InstagramMozilla และอื่นๆ ใช้ Django
- ข้อเสียที่ใหญ่ที่สุดของ Django คือมันไม่สามารถจัดการคำขอหลายรายการพร้อมกันได้
