Django - พื้นฐาน

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

Note - Django เป็นเครื่องหมายการค้าจดทะเบียนของ Django Software Foundation และได้รับอนุญาตภายใต้ BSD License

ประวัติ Django

  • 2003 - เริ่มโดย Adrian Holovaty และ Simon Willison เป็นโครงการภายในที่หนังสือพิมพ์ Lawrence Journal-World

  • 2005 - วางจำหน่ายกรกฎาคม 2548 และตั้งชื่อว่า Django ตามนักกีตาร์แจ๊ส Django Reinhardt

  • 2005 - เป็นผู้ใหญ่เพียงพอที่จะจัดการไซต์ที่มีการเข้าชมสูงหลายแห่ง

  • Current - Django เป็นโครงการโอเพ่นซอร์สที่มีผู้ร่วมให้ข้อมูลทั่วโลก

Django - ปรัชญาการออกแบบ

Django มาพร้อมกับปรัชญาการออกแบบดังต่อไปนี้ -

  • Loosely Coupled - Django มีจุดมุ่งหมายเพื่อทำให้แต่ละองค์ประกอบของกองซ้อนเป็นอิสระจากองค์ประกอบอื่น ๆ

  • Less Coding - โค้ดน้อยลงดังนั้นการพัฒนาที่รวดเร็ว

  • Don't Repeat Yourself (DRY) - ทุกสิ่งควรได้รับการพัฒนาในที่เดียวเท่านั้นแทนที่จะทำซ้ำแล้วซ้ำอีก

  • Fast Development - ปรัชญาของ Django คือการทำทุกวิถีทางเพื่ออำนวยความสะดวกในการพัฒนาที่รวดเร็วมาก

  • Clean Design - Django ดูแลการออกแบบที่สะอาดตลอดโค้ดของตัวเองอย่างเคร่งครัดและทำให้ง่ายต่อการปฏิบัติตามแนวทางปฏิบัติในการพัฒนาเว็บที่ดีที่สุด

ข้อดีของ Django

นี่คือข้อดีบางประการของการใช้ Django ซึ่งสามารถระบุไว้ได้ที่นี่ -

  • Object-Relational Mapping (ORM) Support- Django เป็นสะพานเชื่อมระหว่างโมเดลข้อมูลและเอ็นจิ้นฐานข้อมูลและรองรับระบบฐานข้อมูลจำนวนมากรวมถึง MySQL, Oracle, Postgres และอื่น ๆ Django ยังรองรับฐานข้อมูล NoSQL ผ่านทาง Django-nonrel fork สำหรับตอนนี้ฐานข้อมูล NoSQL เดียวที่รองรับคือ MongoDB และ google app engine

  • Multilingual Support- Django รองรับเว็บไซต์หลายภาษาผ่านระบบสากลในตัว คุณจึงสามารถพัฒนาเว็บไซต์ของคุณซึ่งรองรับหลายภาษา

  • Framework Support - Django รองรับ Ajax, RSS, Caching และเฟรมเวิร์กอื่น ๆ ในตัว

  • Administration GUI - Django มีอินเทอร์เฟซผู้ใช้ที่พร้อมใช้งานสำหรับกิจกรรมการดูแลระบบ

  • Development Environment - Django มาพร้อมกับเว็บเซิร์ฟเวอร์น้ำหนักเบาเพื่ออำนวยความสะดวกในการพัฒนาและทดสอบแอปพลิเคชันแบบ end-to-end