Bab 1: Pengenalan Django dan Web Framework
Django adalah web framework open-source berbasis Python yang memudahkan pembuatan aplikasi web dengan cepat dan terstruktur.
Web framework adalah kumpulan alat dan pustaka yang membantu developer membangun aplikasi web dengan lebih efisien.

Keunggulan Django
- Framework full-stack dengan banyak fitur bawaan.
- Keamanan tinggi dengan proteksi CSRF, XSS, dan SQL Injection.
- Skalabilitas dan performa baik untuk aplikasi besar.
- Komunitas besar dan dokumentasi lengkap.
Bab 2: Instalasi dan Persiapan Lingkungan Django
Untuk memulai, Anda perlu menginstal Python dan Django di komputer Anda.
Instalasi Python
Unduh dan instal Python dari situs resmi python.org .
Instalasi Django
pip install django
Disarankan menggunakan virtual environment untuk mengelola paket Python.
python -m venv env
source env/bin/activate # Linux/Mac
env\Scripts\activate # Windows
pip install django

Bab 3: Membuat Proyek dan Aplikasi Django Baru
Django menggunakan konsep proyek dan aplikasi. Proyek adalah keseluruhan website, sedangkan aplikasi adalah modul fungsional yang bisa berdiri sendiri.
Membuat Proyek Baru
django-admin startproject mysite
Membuat Aplikasi Baru
cd mysite
python manage.py startapp blog
Tambahkan aplikasi ke
INSTALLED_APPS
di
mysite/settings.py
:
INSTALLED_APPS = [
...
'blog',
]
Bab 4: Struktur Folder dan File Django
Memahami struktur folder membantu Anda mengelola proyek dengan baik.

Folder dan File Penting
-
mysite/
: Folder proyek utama berisi konfigurasi. -
blog/
: Folder aplikasi dengan model, view, dan template. -
manage.py
: Script untuk menjalankan perintah Django. -
settings.py
: Pengaturan proyek. -
urls.py
: Routing URL. -
templates/
: Folder untuk file HTML template.
Bab 5: Membuat Model dan Migrasi Database
Model adalah representasi tabel database dalam bentuk kelas Python.
Contoh Model Blog Post
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
Setelah membuat model, jalankan migrasi untuk membuat tabel di database:
python manage.py makemigrations
python manage.py migrate
Bab 6: Membuat View dan URL Routing
View adalah fungsi atau kelas yang menangani request dan mengembalikan response.
Contoh View Sederhana
from django.shortcuts import render
from .models import Post
def home(request):
posts = Post.objects.all().order_by('-created_at')
return render(request, 'home.html', {'posts': posts})
Menambahkan URL Routing
Tambahkan routing di
blog/urls.py
(buat file jika belum ada):
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
Kemudian daftarkan routing aplikasi di
mysite/urls.py
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')),
]
Bab 7: Template Django dan Rendering Halaman
Template adalah file HTML dengan sintaks khusus untuk menampilkan data dinamis.
Contoh Template home.html
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Beranda Blog</title>
</head>
<body>
<h1>Daftar Post</h1>
<ul>
{% for post in posts %}
<li><strong>{{ post.title }}</strong> - {{ post.created_at|date:"d M Y" }}</li>
{% empty %}
<li>Belum ada post.</li>
{% endfor %}
</ul>
</body>
</html>
Bab 8: Form dan Validasi Input Pengguna
Django menyediakan fitur form untuk menerima dan memvalidasi input pengguna dengan mudah.
Contoh Form Django
from django import forms
from .models import Post
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ['title', 'content']
Gunakan form ini di view untuk menampilkan dan memproses input.
Bab 9: Autentikasi dan Manajemen Pengguna
Django menyediakan sistem autentikasi bawaan untuk login, logout, dan manajemen pengguna.
Mengaktifkan Autentikasi
Tambahkan URL autentikasi di
mysite/urls.py
:
from django.contrib.auth import views as auth_views
urlpatterns += [
path('accounts/login/', auth_views.LoginView.as_view(), name='login'),
path('accounts/logout/', auth_views.LogoutView.as_view(), name='logout'),
]
Buat template login dan logout sesuai kebutuhan.
Bab 10: Deployment Website Django
Setelah selesai, deploy website Django ke server produksi agar dapat diakses publik.
Langkah-langkah Deployment
- Pilih layanan hosting yang mendukung Python dan Django (misal Heroku, DigitalOcean).
-
Siapkan virtual environment dan instal dependensi dengan
pip install -r requirements.txt
. -
Konfigurasi file
settings.py
untuk environment produksi (DEBUG=False, allowed hosts, database). - Gunakan web server seperti Gunicorn dan reverse proxy Nginx.
- Jalankan migrasi database dan kumpulkan static files.
- Pastikan website berjalan dengan baik dan aman.

Penutup dan Sumber Belajar Lanjutan
Anda telah mempelajari panduan lengkap Django untuk pemula mulai dari instalasi hingga deployment. Teruslah belajar dan praktik untuk menguasai pengembangan web dengan Django.
Berikut beberapa sumber belajar lanjutan yang direkomendasikan:
- Dokumentasi Resmi Django
- Django Girls Tutorial Bahasa Indonesia
- Real Python - Tutorial Django
- Corey Schafer - Channel YouTube Tutorial Python dan Django
- Komunitas Django Resmi
Terima kasih telah membaca panduan ini. Semoga sukses dalam membangun website dengan Django!