Django
Pengenalan Django
Apa itu Django, cara instalasi, dan cara membuat proyek pertama dengan django-admin startproject.
Struktur Proyek & App
Memahami settings.py, urls.py, dan cara membuat app baru lewat python manage.py startapp.
URL Routing
Mendaftarkan endpoint lewat urlpatterns, fungsi path(), dan include() untuk memecah routing per app.
Views
Menulis function-based view yang menerima HttpRequest dan mengembalikan HttpResponse.
Templates
Merender HTML dinamis lewat Django Template Language: {{ variabel }}, {% tag %}, dan pewarisan template.
Models & Migrations
Mendefinisikan model lewat models.Model, lalu membuat tabel database dengan makemigrations dan migrate.
QuerySet & ORM Query
Mengambil dan memfilter data lewat QuerySet: all(), filter(), get(), exclude(), order_by().
Model Relationships
Menghubungkan antar model lewat ForeignKey, ManyToManyField, dan OneToOneField.
Forms & ModelForm
Validasi input lewat Django Forms dan ModelForm yang otomatis mengikuti field model.
Admin Site
Mengaktifkan panel admin otomatis lewat django.contrib.admin dan mendaftarkan model dengan admin.site.register().
Static Files & Media
Mengatur file statis (CSS/JS) lewat STATIC_URL dan file upload user lewat MEDIA_URL.
Class-Based Views
Memakai ListView, DetailView, CreateView untuk pola CRUD umum tanpa menulis function view manual.
Authentication
Login, logout, dan proteksi view lewat django.contrib.auth dan decorator @login_required.
Middleware
Membuat middleware custom untuk memproses request/response secara global, mis. logging atau header tambahan.
Sessions & Messages
Menyimpan data antar-request lewat request.session dan menampilkan notifikasi flash lewat framework messages.
Signals
Bereaksi terhadap event model lewat signal pre_save dan post_save.
Testing
Menulis test lewat TestCase Django dan mensimulasikan request dengan Client bawaan.
REST API dengan JsonResponse
Membuat endpoint JSON sederhana tanpa Django REST Framework, cukup pakai JsonResponse bawaan.
Tugas Akhir
Latihan akhir menggabungkan models, ORM, forms, admin, dan authentication dalam satu aplikasi Catatan.