บทช่วยสอน 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:

Django Archiเทคเจอร์
Django Archiเทคเจอร์

รูปแบบ 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 Archiการสอน: MVC และ MVT

MVT Archiเทคเจอร์

ดังที่เห็นในแผนภาพด้านบน ผู้ใช้ร้องขอทรัพยากรไปยัง Django Django ทำหน้าที่เป็นผู้ควบคุมและตรวจสอบทรัพยากรที่มีอยู่ใน URL

หากแมป URL มุมมองจะถูกเรียกซึ่งโต้ตอบกับโมเดลและเทมเพลต จากนั้น Django ตอบกลับผู้ใช้และส่งเทมเพลตเป็นการตอบกลับ

ในซีรีส์บทช่วยสอน Django สำหรับผู้เริ่มต้น เราจะเรียนรู้เกี่ยวกับส่วนประกอบของ Django

ส่วนประกอบของจังโก้

ฟอร์ม

Django มีไลบรารีฟอร์มที่ทรงพลังซึ่งจัดการการเรนเดอร์ฟอร์มเป็น HTML ห้องสมุดช่วยในการตรวจสอบข้อมูลที่ส่งมาและแปลงเป็น Python ประเภท

การยืนยันตัวตน

จัดการบัญชีผู้ใช้ กลุ่ม เซสชันผู้ใช้ที่ใช้คุกกี้ ฯลฯ

ผู้ดูแลระบบ

โดยจะอ่านข้อมูลเมตาในโมเดลของคุณเพื่อให้มีอินเทอร์เฟซที่มีประสิทธิภาพซึ่งสามารถใช้เพื่อจัดการเนื้อหาบนไซต์ของคุณได้

สากล

Django รองรับการแปลข้อความเป็นภาษาต่างๆ การจัดรูปแบบวันที่ เวลา ตัวเลข และเขตเวลาเฉพาะตามสถานที่

⁠ความปลอดภัย

Django ช่วยป้องกันการโจมตีต่อไปนี้:

  • การปลอมแปลงคำขอข้ามไซต์ (CSRF)
  • การเขียนสคริปต์ข้ามไซต์
  • การแทรก SQL
  • Clickjacking
  • การเรียกใช้รหัสระยะไกล

บริษัทชื่อดังที่ใช้ Django

นี่คือบริษัทที่ใช้ Django:

  • BitBucket
  • อภิปราย
  • นาซา
  • พีบีเอส (บริการกระจายเสียงและแพร่ภาพสาธารณะ)
  • Pinterest
  • Instagram
  • 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 คือมันไม่สามารถจัดการคำขอหลายรายการพร้อมกันได้

สรุปโพสต์นี้ด้วย: