Django
Django Concept

Konsep Dasar Django

Django menggunakan pola arsitektur MVT (Model-View-Template) yang merupakan variasi dari MVC (Model-View-Controller). Mari kita bahas konsep dasarnya:

Arsitektur MVT Django

1. Model

  • Bertanggung jawab untuk data dan logika bisnis
  • Merepresentasikan struktur database dalam bentuk class Python
  • Contoh sederhana:
# models.py
class Produk(models.Model):
    nama = models.CharField(max_length=100)
    harga = models.IntegerField()

2. View

  • Menangani logika tampilan dan request handling
  • Menerima request HTTP dan mengembalikan response
  • Contoh sederhana:
# views.py
def daftar_produk(request):
    produk = Produk.objects.all()
    return render(request, 'produk/daftar.html', {'produk': produk})

3. Template

  • Mengatur bagaimana data ditampilkan ke user
  • File HTML dengan sintaks template Django
  • Contoh sederhana:
<!-- daftar.html -->
<h1>Daftar Produk</h1>
{% for item in produk %}
<p>{{ item.nama }} - Rp{{ item.harga }}</p>
{% endfor %}

Contoh Kasus Sederhana

Misalkan kita membuat aplikasi toko online sederhana:

  1. Model: Menyimpan data produk

    • Nama produk
    • Harga
    • Deskripsi
    • Stok
  2. View: Menangani operasi

    • Menampilkan daftar produk
    • Menambah produk baru
    • Mengupdate stok
    • Proses pembelian
  3. Template: Tampilan untuk user

    • Halaman daftar produk
    • Form tambah produk
    • Halaman detail produk
    • Halaman keranjang belanja

Fitur Utama Django

  1. URL Routing

    • Mengatur pemetaan URL ke View
    • Contoh: /produk/ mengarah ke halaman daftar produk
  2. Admin Interface

    • Panel admin bawaan untuk mengelola data
    • Dapat dikustomisasi sesuai kebutuhan
  3. Forms

    • Pembuatan dan validasi form
    • Menghandle input user dengan aman
  4. Authentication

    • Sistem login/logout bawaan
    • Manajemen user dan permission
  5. ORM (Object-Relational Mapping)

    • Query database menggunakan Python
    • Tidak perlu menulis SQL langsung

Flow Request di Django

  1. User mengakses URL (misal: www.tokomu.com/produk (opens in a new tab))
  2. URL dikonfigurasi di urls.py
  3. Request diarahkan ke View yang sesuai
  4. View mengambil data dari Model jika diperlukan
  5. View merender Template dengan data
  6. Response HTML dikirim ke user

Ini adalah konsep dasar Django yang perlu dipahami sebelum mulai membuat aplikasi. Setiap komponen bekerja sama untuk membuat aplikasi web yang terstruktur dan maintainable.