Tutorial Django: Fitur-fitur, Architekstur & Sejarah

⚡ Ringkasan Cerdas

Django adalah perangkat lunak sumber terbuka dan gratis. Python Kerangka kerja web yang dibangun di atas pola model-view-template, memungkinkan pengembangan situs web berbasis basis data yang aman, terukur, dan cepat melalui komponen yang dapat digunakan kembali, antarmuka admin otomatis, dan desain yang lengkap.

  • 🔘 Kerangka: Django adalah bahasa pemrograman tingkat tinggi. Python Kerangka kerja untuk membangun aplikasi web kompleks berbasis basis data dengan cepat.
  • ☑️ Architekstur: Pola model-view-template (MVT) memungkinkan Django untuk mengelola controller dan memisahkan data, logika, dan presentasi.
  • ✅ Baterai termasuk: Fitur admin, otentikasi, formulir, dan internasionalisasi yang terintegrasi menghilangkan sebagian besar pekerjaan pengaturan yang berulang.
  • ️ Keamanan: Pengamanan bawaan memblokir serangan CSRF, cross-site scripting, SQL injection, dan clickjacking.
  • 🧪 Skala: InstagramPinterest, Mozilla, dan Disqus mengandalkan Django untuk menangani trafik yang sangat tinggi.
  • 🤖 AI: Django menyajikan model pembelajaran mesin sebagai API, dan asisten seperti GitHub Copilot mempercepat pengkodean backend.

Tutorial Django untuk Pemula

Django menggerakkan beberapa situs web terbesar di internet sambil tetapping Pengembangan sehari-hari yang cepat dan terorganisir. Sebelum menjelajahi fitur, arsitektur, dan sejarahnya, bagian-bagian di bawah ini dimulai dengan dasar-dasar kerangka kerja web dan apa yang membuat Django berbeda.

Ringkasan Tutorial Django

Tutorial Django ini mencakup semua topik dasar dari awal. Dalam tutorial ini, Anda akan mempelajari konsep-konsep seperti apa itu Django, sejarahnya, fitur-fiturnya, karakteristik kerangka kerja Django, komponen-komponen Django, kelebihan dan kekurangannya, dan masih banyak lagi.

Sebelum mempelajari Django, mari kita pahami terlebih dahulu:

Apa itu Kerangka Web?

Framework web adalah pustaka kode yang membantu Anda membangun situs web, aplikasi web, atau layanan web dinamis yang fleksibel, terukur, dan mudah dipelihara. Berbagai framework web meliputi Zend untuk PHP, Ruby on Rails untuk Ruby, dan lainnya.

Apakah Django itu?

Django adalah kerangka pengembangan web untuk Python yang menawarkan metode standar untuk pengembangan situs web yang cepat dan efektif. Tujuan utama dari kerangka kerja web tingkat tinggi ini adalah untuk membuat situs web kompleks berbasis basis data. Ini membantu Anda membangun dan memelihara aplikasi web berkualitas. Ini memungkinkan Anda untuk membuat proses pengembangan menjadi lancar dan hemat waktu untuk pengembangan yang cepat.

Mengapa Django? Keuntungan Utama Django

Berikut adalah kelebihan utama Django:

  • Django mudah diatur dan dijalankan. Ia menawarkan berbagai pilihan untuk memulai.
  • Sistem ini menyediakan antarmuka pengguna yang siap pakai untuk aktivitas administratif.
  • Fitur ini memungkinkan situs web multibahasa dengan menggunakan sistem internasionalisasi bawaannya.
  • Ini membantu Anda memenuhi permintaan lalu lintas yang besar dengan cepat.
  • Django digunakan untuk membangun semua jenis sistem manajemen konten, jejaring sosial, serta platform komputasi ilmiah.
  • Django membantu Anda menyediakan pengujian aplikasi ujung-ke-ujung.
  • Ini membantu Anda mendokumentasikan API Anda dengan output HTML.
  • Kerangka kerja REST memiliki dukungan yang kaya untuk beberapa protokol otentikasi.
  • Sistem ini menawarkan izin dan kebijakan pembatasan akses.
  • Ini banyak digunakan untuk membatasi laju permintaan API dari satu pengguna.

Sejarah Django

Tahun Batu
2003 Proyek ini dimulai oleh Adrian Holovaty dan Simon Willison sebagai proyek internal di surat kabar Lawrence Journal-World.
Juli 2005 Album ini dirilis pada Juli 2005 dengan judul “Django,” yang diambil dari nama gitaris jazz Django Reinhardt.
Juni 2008 Dinyatakan bahwa perangkat lunak Django Foundation (DSF) akan mempertahankan Django.
29 Juli 2009 Django 1.1 dirilis dengan fitur-fitur seperti agregasi dan pengujian berbasis transaksi.
17 Mei 2010 Django 1.2 telah dirilis. Pembaruan ini menawarkan fitur-fitur seperti beberapa basis data dan backend email, serta peningkatan pada sesi dan cookie.
Maret 23 2011 Versi 1.3 memperkenalkan fitur-fitur seperti tampilan berbasis kelas dan file statis.
Maret 23 2012 Versi 1.4 diluncurkan dengan fitur-fitur baru seperti zona waktu dan pengujian langsung di browser.
26 Februari 2013 Versi 1.5 hadir dengan Python 3 fitur dukungan dan model pengguna yang dapat dikonfigurasi.
6 November 2013 Versi 1.6 hadir dengan fitur manajemen transaksi basis data dan pengumpulan koneksi.
2 September 2014 Versi 1.7 memiliki fitur-fitur baru seperti pemuatan aplikasi, migrasi, dan konfigurasi.
1 April 2015 Dukungan asli disediakan untuk beberapa mesin templat.
1 Dec 2015 Pada versi 1.9, fitur validasi kata sandi otomatis diperkenalkan.
1 Agustus 2016 Pada versi 1.10, pencarian teks lengkap untuk PostgreSQL diluncurkan.
4 April 2017 Versi 1.11 menjadi versi terakhir yang mendukung fitur tersebut. Python 2.7.
2 Dec 2017 Versi 2.0 menjadi yang pertama Python Versi rilis 3-only.
1 Agustus 2018 Versi 2.1 hadir dengan fitur dukungan izin "lihat" model.
2021 Menghapus dukungan untuk Django 3.0 dan menambahkan dukungan untuk Django 3.2.

Dalam tutorial Django untuk pemula ini, mari kita pelajari fitur-fitur Django.

Fitur Django

Di bawah ini adalah fitur Django:

  • Membantu Anda mendefinisikan pola untuk URLs dalam aplikasi Anda.
  • Sederhana namun kuat URL sistem.
  • Sistem otentikasi bawaan.
  • Basis data bahasa pemrograman berorientasi objek yang menawarkan penyimpanan dan pengambilan data terbaik di kelasnya.
  • Fitur antarmuka admin otomatis memungkinkan fungsi penambahan, pengeditan, dan penghapusan item. Anda dapat menyesuaikan panel admin sesuai kebutuhan Anda.
  • Kerangka kerja cache ini dilengkapi dengan berbagai mekanisme cache.

Dalam tutorial framework Django ini, kita akan mempelajari karakteristik dari Django.

Karakteristik Django

Berikut adalah karakteristik utama Django:

  • Hubungan renggang – Django membantu Anda membuat setiap elemen dalam tumpukannya independen satu sama lain.
  • Less kode – Memastikan pengembangan yang efektif.
  • Tidak terulang – Segala sesuatunya harus dikembangkan di satu tempat saja, bukannya diulang-ulang.
  • Perkembangan cepat – Django menawarkan pengembangan aplikasi yang cepat dan andal.
  • Desain yang konsisten – Django mempertahankan desain yang bersih dan memudahkan untuk mengikuti praktik pengembangan web terbaik.

Berikutnya dalam tutorial pemula Django ini, kita akan belajar tentang arsitektur Django.

Django Architekstur: MVC dan MVT

Berikut ini adalah arsitektur rinci Django:

Django Architekstur

Django Architekstur

Pola MVC

Ketika berbicara tentang aplikasi yang menyediakan UI (web atau desktop), kita biasanya berbicara tentang arsitektur MVC. Pola MVC didasarkan pada Model, View, dan Controller.

The Pilih Model Menentukan struktur data dan menangani kueri basis data.

The Liha mendefinisikan data apa yang harus disajikan dan mengembalikan respons HTTP.

The pengawas Ini adalah bagian dari aplikasi yang menangani interaksi pengguna.

Pola Django MVC-MVT

Model-View-Template (MVT) adalah konsep yang berbeda dibandingkan dengan MVC. Perbedaan utama antara kedua pola arsitektur ini adalah bahwa Django sendiri mengelola bagian Controller (kode perangkat lunak yang mengontrol interaksi antara Model dan View). Template adalah file HTML yang dicampur dengan file Django Template Language, yang juga disebut DTL.

Diagram di bawah ini menunjukkan bagaimana semua komponen pola MVT berinteraksi satu sama lain untuk melayani permintaan pengguna tertentu.

Django Architekstur: MVC dan MVT

MVT Architekstur

Seperti yang terlihat pada diagram di atas, pengguna meminta sumber daya dari Django. Django bertindak sebagai pengontrol dan memeriksa ketersediaan sumber daya tersebut. URL.

Jika URL Dalam map, sebuah view dipanggil yang berinteraksi dengan model dan template. Django kemudian merespons pengguna dan mengirimkan template sebagai respons.

Dalam rangkaian tutorial Django untuk pemula ini, kita akan mempelajari tentang komponen-komponen Django.

Komponen Django

Bentuk

Django mempunyai perpustakaan formulir yang kuat yang menangani rendering formulir sebagai HTML. Perpustakaan membantu memvalidasi data yang dikirimkan dan mengonversinya Python jenis.

Otentikasi

Sistem ini menangani akun pengguna, grup, sesi pengguna berbasis cookie, dan banyak lagi.

admin

Ia membaca metadata dalam model Anda untuk menyediakan antarmuka tangguh yang dapat digunakan untuk mengelola konten di situs Anda.

Internasionalisasi

Django menyediakan dukungan untuk menerjemahkan teks ke berbagai bahasa, serta pemformatan tanggal, waktu, angka, dan zona waktu yang spesifik untuk wilayah tertentu.

Security

Django menyediakan perlindungan terhadap serangan-serangan berikut:

  • Pemalsuan Permintaan Lintas Situs (CSRF)
  • Scripting lintas situs
  • Injeksi SQL
  • Clickjacking
  • Eksekusi kode jarak jauh

Perusahaan Terkenal Menggunakan Django

Berikut adalah perusahaan-perusahaan yang menggunakan Django:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (Layanan Penyiaran Publik)
  • pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • The New York Times
  • Los Angeles Times
  • Penjaga
  • Nasional geografis
  • discovery channel

Kekurangan menggunakan Django

Berikut beberapa kekurangan menggunakan Django:

  • Satu proses tunggal tidak dapat menangani banyak permintaan secara bersamaan.
  • Django adalah alat yang sangat monolitik.
  • Komponen-komponen tersebut diimplementasikan secara bersamaan, yang dapat menimbulkan kebingungan.
  • Pengetahuan tentang keseluruhan sistem diperlukan untuk dapat bekerja dengan Django.
  • Hal ini membuat komponen aplikasi web saling terkait erat.
  • Anda perlu melakukan pemrograman yang panjang untuk tugas-tugas kecil.

Pertanyaan Umum Demo Slot

Django pada dasarnya adalah kerangka kerja backend, meskipun sering digambarkan sebagai full-stack karena lapisan templatnya merender HTML. Ia mengelola logika sisi server, basis data, perutean, dan keamanan, sementara templat menangani presentasi untuk browser.

Django adalah framework full-stack yang lengkap dengan ORM bawaan, panel admin, dan otentikasi. Flask adalah microframework ringan yang minimalis dan mengandalkan ekstensi untuk fitur-fitur yang sama, memberikan pengembang lebih banyak kendali manual.

Django ORM, atau object-relational mapper, memungkinkan Anda mendefinisikan tabel basis data sebagai Python kelas dan menanyakannya dengan Python kode alih-alih SQL mentah. Ini mendukung basis data seperti PostgreSQL, MySQL, SQLite, dan Oracle.

Jalankan perintah `python -m django –version` di baris perintah, atau buka file konfigurasi. Python Jalankan `shell` dan `run import django` diikuti dengan `print(django.get_version())`. Keduanya menampilkan nomor rilis Django yang terpasang.

Middleware adalah serangkaian hook yang memproses setiap permintaan dan respons secara global. Django menggunakan middleware untuk sesi, otentikasi, perlindungan CSRF, dan header keamanan, yang masing-masing berjalan secara berurutan sebelum dan sesudah tampilan Anda dieksekusi.

Pengetahuan kerja tentang Python dan konsep dasar web seperti HTTP, HTML, dan basis data sangat dibutuhkan. Pemahaman tentang pemrograman berorientasi objek membuat model Django dan tampilan berbasis kelas jauh lebih mudah dipelajari.

Ya. Django sering menyajikan model pembelajaran mesin melalui view atau Django REST Framework, yang mengekspos prediksi sebagai endpoint API. Model yang telah dilatih dimuat sekali saat startup dan mengembalikan hasil inferensi ke klien web atau seluler.

GitHub Copilot dan asisten AI serupa melengkapi model dan tampilan Django secara otomatis. URL Pola, pengujian, dan kerangka kerja dapat menyusun kode berulang yang mudah dipahami. Hal ini mempercepat pengembangan, meskipun kode yang dihasilkan harus selalu ditinjau untuk memastikan keamanan dan kebenarannya.

Ringkaslah postingan ini dengan: