Sebelum menyentuh kode Django, kalian perlu menguasai dasar Python (OOP, decorator, typing), virtual environment, serta konsep HTTP dan SQL. Di episode ini kalian juga menyiapkan Python 3.13, menginstall Django 6.1 lewat venv, dan memverifikasi seluruh environment siap dipakai sepanjang series.

Selamat datang di series Belajar Django! Series ini akan membawa kalian menguasai Django — web framework Python yang "batteries-included" — untuk membangun aplikasi web dan REST API yang cepat, aman, dan scalable. Total ada 27 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.
Sebelum menjalankan django-admin startproject devblog, ada skill dasar dan perangkat lunak yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena Django berdiri di atas tiga pilar: Python sebagai bahasa, HTTP sebagai protokol komunikasi, dan SQL sebagai penyimpanan data. ORM Django memang menyembunyikan SQL mentah, tetapi memahami ketiganya akan membuat kalian jauh lebih cepat memecahkan masalah saat query lambat, bug auth, atau migrasi gagal.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan Python dan virtual environment, menginstall Django 6.1, serta memverifikasi environment untuk pertama kali.
Django adalah framework Python murni. Kalian wajib nyaman dengan class dan inheritance (karena kita akan memakai Class-Based Views dan Model), decorator (dipakai @login_required dan @require_http_methods), serta type hints modern. Sebagian besar kode Django memakai positional args dan kwargs dengan pola yang bisa ditebak jika kalian paham fungsi dasar Python.
Cek versi Python kalian dulu:
python3 --version
python3 -m pip --versionDjango harus diinstall per-project, bukan global. Konsep ini bernama virtual environment (venv): folder yang mengisolasi dependency satu project dari project lain dan dari sistem. Ini mencegah konflik versi — misalnya project A butuh Django 4.2 LTS sementara project B butuh Django 6.1. Sepanjang series kita pakai venv klasik; uv (penulis lintas platform Rust, jauh lebih cepat) bisa jadi alternatif, detailnya di episode 16.
Django menerima HTTP request dan mengembalikan HTTP response. Kalian wajib paham perbedaan method GET, POST, PUT, DELETE, arti status code (200, 301, 302, 403, 404, 500), serta konsep header dan body. Kenali juga bagaimana browser mengirim cookie dan bagaimana CSRF token dikirim — dua hal ini akan sering muncul di episode 9 dan 18.
Django menyediakan ORM, tetapi memahami SQL dasar (SELECT, INSERT, UPDATE, DELETE, JOIN) sangat membantu membaca query yang dihasilkan ORM lewat QuerySet.query atau django-debug-toolbar. Untuk lab, SQLite cukup — satu file, tanpa server. Untuk produksi, kalian akan memakai PostgreSQL, dan kita install keduanya di episode ini.
Django 6.1 mendukung Python 3.12–3.14, dan series ini ditulis terhadap Python 3.13. Pastikan versi kalian setidaknya 3.12. Install dari python.org, package manager distro, atau pyenv jika perlu versi ganda.
python3 --version
which python3Buat direktori lab dan venv, lalu install Django:
mkdir -p ~/devblog && cd ~/devblog
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install "Django>=6.1,<6.2"python3 -m venv .venv membuat environment terisolasi di folder .venv. Perhatikan bahwa setelah source .venv/bin/activate, prompt shell kalian berubah — dan semua python serta pip yang dipanggil adalah milik venv, bukan sistem.
Tip
Selalu aktifkan venv sebelum menjalankan perintah Django. Kalau kalian lupa, django-admin tidak akan ditemukan karena package-nya terisolasi di dalam .venv. Kebiasaan python -m pip dan python -m django juga lebih aman daripada memanggil binary global.
SQLite otomatis tersedia bersama Python — tidak perlu install apa pun untuk episode-episode awal. Untuk PostgreSQL, install server lokal atau pakai Docker:
sudo apt install postgresql postgresql-contrib
sudo systemctl enable --now postgresql
psql --versionDriver Python psycopg baru benar-benar dibutuhkan saat kita menyambungkan Django ke PostgreSQL di episode 7. Untuk sekarang, cukup pastikan PostgreSQL terinstall.
Jalankan verifikasi menyeluruh sebelum lanjut:
python -c "import django; print(django.get_version())"
django-admin --version
python -c "import sys; print(sys.version_info)"django.get_version() harus mencetak 6.1 (rilis 5 Agustus 2026). Sekalian cek bahwa semua command jalan dari dalam venv:
which python
which django-adminKeduanya harus menunjuk ke dalam direktori .venv/bin/. Kalau masih menunjuk ke /usr/bin/python, venv belum aktif.
Warning
Jangan install Django global dengan sudo pip install django. Versi global bisa bertabrakan dengan package sistem dan antar project. Selalu pakai venv — ini bukan saran gaya, tapi kebiasaan yang menyelamatkan kalian dari "dependency hell" di produksi.
Sepanjang series kita membangun project devblog — blog dengan posts, comments, autentikasi, dan REST API. Susun struktur awal seperti ini:
devblog/
.venv/ # virtual environment (jangan di-commit)
devblog/ # project config (dibuat episode 3)
blog/ # app inti (dibuat episode 3)
.gitignoredevblog/ outer adalah wadah project, devblog/ inner adalah package konfigurasi yang dihasilkan django-admin startproject, dan blog/ adalah aplikasi Django — kita bedah perbedaan project dan app di episode 2 dan 3.
Rangkuman yang sudah kalian siapkan di episode 0:
~/devblog dengan venv aktif bernama .venv.django.get_version() mencetak 6.1 dan semua binary menunjuk ke .venv/bin/.Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 26 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.
Inti yang harus dibawa pulang:
django.get_version() dan which django-admin.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan Django — dari kelahiran di Lawrence Journal-World tahun 2005, filosofi "batteries-included" Adrian Holovaty & Simon Willison, hingga kenapa raksasa seperti Instagram, Spotify, dan Mozilla memilih Django di 2026. Pastikan environment kalian sudah siap, karena perjalanan Belajar Django baru saja dimulai!