Mengisi liburan kali ini saya mencoba mempelajari salah satu Framework yang menggunakan Python sebagai bahasa pemrogramannya, Django, begitu disebut. Framework ini memiliki fitur yang lengkap untuk membuat web dari sisi frontend (dilihat oleh user) dan sisi backend (dilihat hanya oleh admin).

Framework ini dibuat oleh Simon Willison dan Adian Holovaty pada tahun 2003. Penamaan Django terinspirasi dari nama Gitaris Kebangsaan Belgia & Prancis, Django Reinhardt. Tentu saja karena pembuat framework ini hobi dalam bermain gitar.
Saat tulisan ini dibuat saya menggunakan versi 5.1.7. dan python 3.10.6. Saya menggunakan PyCharm versi 2024.3.4 Community Edition untuk mengelola kode program yang dibuat.
Dhango ini menerapkan konsep Model View Controller (MVC) dalam pengelolaan kode program untuk menjaga aliran data, baik yang dari database maupun dari sebuah API. Konsep ini sangat populer saat ini.
Saya membuat project sederhana dalam belajar kali ini. Saya juga menggunakan fasilitas admin. sebuah fasilitas yang sangat memanjakan programmer dalam membuat halaman untuk mengelola data yang terbubung ke data base. Saya menggukan sqlite3 untuk mengelola data pada project pertama saya. Django menggunakan SQLite secara default. Sehingga kita bisa langsung mulai tanpa harus menginstal database tambahan lagi.
Berikut rangkuman belajar saya kali ini. Saya menggunakan Chatgpt untuk menemani saya belajar:
Rangkuman Belajar Django Hari Ini
1 Instalasi Django
Pastikan Python sudah terinstal di sistem dengan perintah:
python --version
Buat virtual environment dan aktifkan:
python -m venv venv
venv\Scripts\activate # Windows
Install Django:
pip install django
Cek versi Django:
python -m django --version
2 Membuat Proyek Django
Buat proyek Django:
django-admin startproject PythonProject
Masuk ke folder proyek:
cd PythonProject
Jalankan server untuk pertama kali:
python manage.py runserver
Akses di browser http://127.0.0.1:8000/
"Hello, Django!" berhasil ditampilkan.
3 Membuat Aplikasi Django
Buat aplikasi baru dalam proyek:
python manage.py startapp myapp
Tambahkan myapp ke INSTALLED_APPS dalam settings.py.
Buat views di views.py:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django! Aplikasi berhasil dijalankan.")
Atur URL routing (urls.py):
from django.urls import path
from myapp.views import index
urlpatterns = [
path('', index, name='index'),
]
Jalankan ulang server dan lihat perubahan.
4 Menggunakan Django Templates
Buat folder templates/myapp/ dan tambahkan file index.html.
Ubah views.py untuk merender template:
from django.shortcuts import render
def index(request):
return render(request, 'myapp/index.html')
5 Menggunakan SQLite dengan Django ORM
Database SQLite sudah otomatis digunakan oleh Django (db.sqlite3).
Buat model Mahasiswa (models.py):
from django.db import models
class Mahasiswa(models.Model):
nim = models.CharField(max_length=10, unique=True)
nama = models.CharField(max_length=100)
jurusan = models.CharField(max_length=50)
Migrate database untuk menerapkan perubahan:
python manage.py makemigrations
python manage.py migrate
Tambahkan data ke database via shell:
python manage.py shell
from myapp.models import Mahasiswa
mhs = Mahasiswa(nim="12345", nama="Budi Santoso", jurusan="Informatika")
mhs.save()
6 Menampilkan Data di View
Buat fungsi baru di views.py untuk menampilkan mahasiswa:
from django.shortcuts import render
from myapp.models import Mahasiswa
def mahasiswa_list(request):
mahasiswa = Mahasiswa.objects.all()
return render(request, 'myapp/mahasiswa_list.html', {'mahasiswa': mahasiswa})
Tambahkan URL pattern (urls.py):
path('mahasiswa/', mahasiswa_list, name='mahasiswa_list'),
Buat template mahasiswa_list.html:
<h2>Daftar Mahasiswa</h2>
<ul>
{% for m in mahasiswa %}
<li>{{ m.nim }} - {{ m.nama }} - {{ m.jurusan }}</li>
{% endfor %}
</ul>
7 Menambahkan Model Jurusan
Tambahkan model baru (models.py):
class Jurusan(models.Model):
kode = models.CharField(max_length=10, unique=True)
nama_jurusan = models.CharField(max_length=100)
Migrate ulang database:
python manage.py makemigrations
python manage.py migrate
8 Menampilkan Data Jurusan
Buat view untuk Jurusan (views.py):
from myapp.models import Jurusan
def jurusan_list(request):
jurusan = Jurusan.objects.all()
return render(request, 'myapp/jurusan_list.html', {'jurusan': jurusan})
Tambahkan URL jurusan/ (urls.py):
path('jurusan/', jurusan_list, name='jurusan_list'),
Buat template jurusan_list.html:
<h2>Daftar Jurusan</h2>
<ul>
{% for j in jurusan %}
<li>{{ j.kode }} - {{ j.nama_jurusan }}</li>
{% endfor %}
</ul>
9 Menggunakan Django Admin untuk CRUD
Aktifkan Django Admin di admin.py:
from django.contrib import admin
from myapp.models import Mahasiswa, Jurusan
admin.site.register(Mahasiswa)
admin.site.register(Jurusan)
Buat superuser:
python manage.py createsuperuser
Masukkan username, email, dan password.
Akses admin panel:
Buka http://127.0.0.1:8000/admin dan login.
Sekarang bisa tambah, edit, dan hapus data langsung dari admin panel.
Kesimpulan
Hari ini kita belajar Django dari nol hingga bisa menampilkan data mahasiswa & jurusan dengan CRUD di admin panel.
Menggunakan SQLite sebagai database bawaan Django.
Menggunakan Django Template untuk menampilkan data.
Mengelola data dari Django Admin.
Tampilan akhir aplikasi seperti gambar berikut:

Penggunaan AI dapat menjadi tambahan amunisi dalam belajar, hal baru sekalipun. Selamat mencoba teman-teman. Semangat dalam belajar.
Salam
Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana. Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI