Lewati ke konten utama

Pengembangan Web Django dengan Python

Pelajari dasar-dasar pengembangan web menggunakan Django untuk membangun aplikasi blog yang memiliki fungsionalitas (CRUD) Create, Read, Update, Delete.
Diperbarui 29 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Django adalah kerangka kerja pengembangan web tingkat tinggi yang gratis, bersumber terbuka, dan banyak digunakan. Django menyediakan banyak fitur kepada pengembang "siap pakai", sehingga pengembangan dapat berlangsung cepat. Namun, situs web yang dibangun dengannya tetap aman, dapat diskalakan, dan mudah dipelihara pada saat yang sama.

Tujuan

Tujuan tutorial ini adalah membangun aplikasi blog di mana konten blog dapat dibuat dan diperbarui melalui panel administrasi. Konten blog ditampilkan di halaman dan dapat dihapus bila diperlukan. Secara keseluruhan, aplikasi menyediakan fungsionalitas CRUD (Create, Read, Update, Delete).

Tutorial ini tidak menggunakan teknologi FrontEnd seperti Javascript, CSS, dan sebagainya, melainkan berfokus pada konsep dasar namun esensial yang dibutuhkan dalam setiap Pengembangan Web Django.

Persiapan yang Diperlukan

  1. Git Bash: Pengguna semua sistem operasi dapat menggunakannya. Semua perintah terkait Django dan perintah Unix dijalankan melalui ini. Untuk mengunduh Git Bash: Klik di sini.
  2. Text-Editor: Editor teks apa pun seperti Sublime Text atau Visual Studio Code dapat digunakan. Untuk proyek berikut, Sublime Text digunakan.
  3. Python 3: Versi terbaru Python dapat diunduh di Download Python.

Catatan: Anda dapat dengan mudah mengikuti tutorial ini jika memahami dasar-dasar Python dan mengenal loop, fungsi, kelas, dan sebagainya, serta memiliki sedikit pengetahuan tentang bash atau command line.

Virtual Environment

Virtual Environment bertindak sebagai pengelola dependensi untuk proyek terkait Python. Ini bekerja sebagai wadah mandiri atau lingkungan terisolasi di mana semua paket Python dan versi yang diperlukan terkait proyek tertentu diinstal. Karena versi terbaru Python, Django, atau paket lain akan terus dirilis, dengan bantuan Virtual Environment, Anda dapat bekerja dengan versi yang lebih lama yang spesifik untuk proyek Anda. Singkatnya, Anda dapat memulai proyek mandiri terkait Django versi 2.0, sementara proyek mandiri lain terkait Django versi 3.0 dapat dimulai pada komputer yang sama.

Catatan: Ada banyak cara untuk membuat Virtual Environment, namun hanya satu cara yang ditunjukkan di bawah.

Langkah-langkah Membuat Virtual Environment

  1. Anda dapat membuat direktori baru bernama 'project-blog' dengan menggunakan perintah 'mkdir' di Desktop Anda.
  2. Ubah direktori ke 'project-blog' dengan perintah 'cd'.
    Steps to Create a Virtual Environment

  3. Virtual environment dibuat dengan menggunakan 'python -m venv env', di mana env adalah virtual environment kita yang ditampilkan oleh perintah 'ls'.
    Steps to Create a Virtual Environment

  4. Untuk Mengaktifkan Virtual Environment Anda: Virtual Environment dapat diaktifkan dengan menggunakan perintah 'source' di mana folder 'Scripts' perlu diaktifkan.
    Steps to Create a Virtual Environment
    'env' akan ditampilkan dalam tanda kurung jika Anda berhasil mengaktifkan Virtual Environment Anda.

  5. Menginstal Django: Anda dapat menggunakan 'pip install django' untuk menginstal Django di Virtual Environment spesifik Anda.
    Steps to Create a Virtual Environment

Catatan: Pengguna Linux dan Mac perlu menggunakan 'python3' secara spesifik dalam perintah karena Python versi 2 sudah terpasang di komputer mereka. Selain itu, lebih disarankan menggunakan versi 3 saat ini, karena Python tidak lagi mendukung versi 2 setelah tahun 2020.

Membuat Proyek Django

  1. Langkah pertama adalah membuat proyek Anda dengan menggunakan perintah 'django-admin startproject project_name', di mana 'project_name' adalah 'django_blog' dalam kasus Anda. Selain itu, perintah ini akan menghasilkan banyak file di dalam proyek yang baru dibuat, yang dapat Anda pelajari lebih lanjut di dokumentasi Django jika diperlukan.
    Creating a Django Project
  2. Ubah direktori ke proyek yang baru dibuat menggunakan perintah 'cd' dan untuk melihat file yang dibuat gunakan perintah 'ls'.
    Creating a Django Project
  3. Anda dapat menjalankan proyek Anda dengan menggunakan 'python manage.py runserver'.
    Creating a Django Project
  4. Proyek dapat dilihat di peramban favorit Anda (Google Chrome, Mozilla Firefox, dll.). Anda dapat membuka peramban dan mengetik 'localhost:8000' atau '127.0.0.1:8000' di URL, seperti yang ditunjukkan di bawah.
    Creating a Django Project
    Catatan: Untuk mendapatkan halaman yang sama seperti di atas, server di bash harus berjalan di latar belakang. Anda juga dapat menghentikan server secara manual jika diperlukan dengan menekan 'Ctr+C' di Windows/Linux dan 'Cmd+C' di Mac.

Memulai Proyek Django Baru

Untuk membuat proyek baru di Django, selalu ada proses dua langkah, seperti ditunjukkan di bawah ini.

  1. Langkah pertama adalah membuat app dengan menggunakan perintah 'python manage.py startapp app_name', di mana app_name adalah 'blog' dalam kasus Anda. Di Django, bisa ada banyak app dalam satu proyek di mana setiap app melayani satu fungsi spesifik untuk proyek tersebut.
    Starting the New Project
  2. Langkah kedua adalah memberi tahu proyek kita tentang app yang baru dibuat dengan mengubah bagian INSTALLED_APP di 'django_blog/settings.py'.
    Starting the New Project

Perubahan pada Models

Django menggunakan 'SQLite' sebagai basis data default, yang ringan dan hanya digunakan untuk proyek kecil, dan ini sudah cukup untuk proyek ini. Django menggunakan 'Object Relational Mapper (ORM)' yang sangat memudahkan pekerjaan dengan basis data. Kode basis data sebenarnya tidak ditulis, melainkan tabel basis data dibuat dengan bantuan kata kunci 'class' di 'models.py'.

Di dalam 'blog/models.py', Anda perlu membuat model baru bernama 'Post'. Ini adalah kelas yang nantinya akan menjadi tabel basis data yang saat ini mewarisi dari 'models.Model'. Seperti pada blog standar, sebuah 'Post' memiliki judul, yang akan menjadi field bernama CharField. Ini adalah kolom berbasis teks dan menerima argumen wajib 'max_length', yang dalam kasus Anda bernilai 50. Selain itu, ada field lain bernama 'content', yaitu TextField, yang berisi teks detail dari 'Post' seperti pada blog standar. Metode double underscore ('str') didefinisikan untuk menimpa field 'title' dan mengembalikan nama 'title' yang sebenarnya alih-alih beberapa objek.
Changing in our Models

Membuat Migrations

'python manage.py makemigrations' adalah proses langkah pertama yang membaca 'models.py' setelah dibuat. Ini membuat folder baru bernama 'migrations' di mana terdapat file bernama '0001_initial.py', yang dapat dipindahkan ke berbagai basis data.
Changing in our Models

Migrasi ke basis data

Ini adalah langkah kedua di mana 'python manage.py migrate' membaca folder 'migrations' yang baru dibuat dan membuat basis data, serta mengubah skema basis data saat ada perubahan pada model.
Changing in our Models

Mendaftarkan ke admin

Mari berpindah ke 'blog/admin.py' dan lakukan import terhadap model bernama 'Post' dengan menggunakan 'from .models import Post'. Untuk mendaftarkan model ke admin, gunakan perintah 'admin.site.register(Post)'.


Changing in our Models

Membuat SuperUser dan Melihat di panel Administrasi

Anda perlu membuat SuperUser sebelum mengakses panel 'admin'. Untuk melakukannya, gunakan 'winpty python manage.py createsuperuser'.
Changing in our Models
Catatan: winpty adalah perintah khusus bash yang digunakan untuk berkomunikasi dengan Program Konsol Windows.

Jalankan server Anda di latar belakang di bash dengan perintah python manage.py runserver. Buka peramban dan ketik hal berikut di URL.

Isi detail Anda setelahnya, yaitu nama pengguna dan kata sandi yang telah Anda buat sebelumnya:
Changing in our Models
Lihat panel admin Anda setelahnya dengan model 'Post' yang baru dibuat.
Changing in our Models
Ubah konten 'Post' dengan mengklik tombol 'Add'. Isi informasi dan 'Save' detailnya.
Changing in our Models

Perubahan pada views dan urls

Beralih ke 'blog/views.py' dan lakukan perubahan seperti di bawah ini. Tambahkan fungsi 'blog_list', yang menerima request. Dilakukan query untuk mengambil semua objek yang dibuat menggunakan 'Post.objects.all()' dan menyimpannya ke post. Ada kamus baru bernama 'context' di mana objek dapat diteruskan sebagai key dan diambil melalui template 'blog-list.html', yang dilakukan dengan mengembalikan respons dengan bantuan render.
Changing in views and urls
Buat file baru bernama 'urls.py' di 'django_blog/blog' dan tambahkan perubahan berikut. Ada import relatif ke views 'blog_list' juga 'urlpatterns', yang merupakan daftar path ke halaman tertentu di situs web. Saat ini, 'path berisi string kosong dan nama view.
Changing in views and urls
Mari berpindah ke 'django_blog/urls.py' dan import include serta lakukan perubahan pada 'urlpatterns'. Kemudian tambahkan path ke URL app Anda melalui include. Juga, ketika pengguna menuju ke 'posts/' maka akan diarahkan ke 'blog.urls.'

Membuat dan Mengubah Template

Mari buat folder templates yang umumnya menyimpan 'HTML' dan memiliki bahasa templating sendiri bernama 'Jinja2'. Folder perlu dinamai 'templates/blog/blog_list.html', yang merupakan konvensi.
Making and Changing the Templates
Anda dapat melihat di bawah ini ada sintaks terkait 'HyperTextMarkup Language (HTML) di mana 'h1' untuk judul besar dan daftar tak berurut (ul) dengan elemen daftar li. Selain itu, digunakan sintaks ' for' loop terkait 'Jinja 2' di mana objek bernama 'blog_list' diteruskan sebagai key dari 'blog/views.py' dengan setiap elemen bernama 'list' diiterasi.
Making and Changing the Templates
Lihat 'title' bernama 'First Post' pada halaman web.
Making and Changing the Templates
Mari tambahkan informasi lain dari panel admin seperti di atas dan beri nama title posting kedua Anda sebagai 'Second Post.'
Making and Changing the Templates
Setelah menambahkan informasi dan memuat ulang beranda, informasi akan diperbarui.
Making and Changing the Templates

Detail untuk Setiap Postingan

Anda akan membuat tiap halaman individual yang memuat informasi terkait judul posting dan kontennya. 'url' akan berupa "localhost:8000/posts/'id'" di mana id menunjukkan nomor unik atau primary key yang dilekatkan pada setiap 'Post' oleh Django sendiri.
Mari buat fungsi 'blog_detail' di 'blog/view.py' , yang menerima id sebagai parameter. Selain itu, dilakukan query untuk mendapatkan id tertentu saja dan menyimpannya ke 'each_post'. Serupa seperti di atas, informasi yang dibutuhkan diteruskan sebagai context ke 'blog_detail.html'.
Details for Each Individual post
Url di 'blog/urls.py' diubah di mana path memuat '<id>', yang menerima id unik dalam bentuk integer. Asumsikan bahwa pengguna datang ke 'posts/' maka akan melihat semua posting, tetapi ketika menuju ke 'posts/1', mereka hanya melihat informasi terkait posting pertama yang dibuat.
Details for Each Individual post
Mari buat file baru, 'blog/blog_detail.html', dan lakukan perubahan berikut. Karena blog_detail diteruskan sebagai context, 'title' dan 'content' dapat diakses menggunakan notasi titik.
Details for Each Individual post
Buka URL di peramban Anda dan ketik hal yang sama untuk mendapatkan posting individual. Karena 'id' untuk informasi pertama yang dibuat adalah '1' di mana informasi kedua adalah '2' dan seterusnya untuk informasi yang baru dibuat.
Details for Each Individual post

Menghapus Postingan

Mari definisikan blog_delete, yang menerima request dan id. Selain itu, dilakukan query di mana 'Post.objects.get(id=id)' mengambil objek dengan id unik dan menyimpannya ke each_post. Setelah itu 'each_post.delete()' dipanggil untuk menghapus 'Post'. Terakhir, HttpResponseRedirect diimpor dari modul 'django.http' yang digunakan untuk mengarahkan ulang halaman ke '/posts/'
Deleting the Post
. Di 'urls.py' import 'blog_delete' dan path diatur ke '<id>/delete' di mana id dengan akhiran delete akan menghapus objek atau informasi tersebut.
Deleting the Post
Mari hapus posting kita dengan mengetik hal berikut di 'urls.py'.
Deleting the Post
Terakhir, halaman akan dialihkan ke '/posts' ketika 'posts/1/delete/' dipanggil di mana hanya ada satu posting di beranda.
Deleting the Post

Kesimpulan

Selamat telah menyelesaikan tutorial! Anda telah mempelajari dasar-dasar Pengembangan Web Django dan mengetahui fungsionalitas CRUD. Untuk detail lebih lanjut pada topik tertentu, kunjungi Dokumentasi Django.

Referensi:

Tanya Jawab Pengembangan Web Django dengan Python

Apa itu Django?

Django adalah kerangka kerja web gratis dan bersumber terbuka yang ditulis dengan Python dan mengikuti pola arsitektur model-template-view. Django dirancang untuk membantu pengembang membawa aplikasi dari konsep hingga selesai secepat mungkin.

Apa saja fitur Django?

Beberapa fitur Django antara lain desain yang ringan dan modular, ORM (Object-Relational Mapper) yang kuat yang menyederhanakan interaksi dengan basis data, serta dukungan bawaan untuk tugas umum pengembangan web seperti autentikasi dan manajemen pengguna, penanganan formulir, dan administrasi konten.

Bagaimana cara memulai dengan Django?

Untuk mulai menggunakan Django, Anda perlu menginstal Python dan pustaka Django di mesin Anda. Anda kemudian dapat membuat proyek Django baru menggunakan perintah django-admin startproject dan mulai membangun aplikasi Anda menggunakan fitur dan alat bawaan Django.

Bagaimana cara membuat basis data di Django?

Django menggunakan mesin basis data SQLite secara default, yang disertakan dengan Python. Anda dapat membuat basis data baru dengan mendefinisikan model di app Django Anda dan menjalankan perintah migrate. Ini akan membuat tabel yang diperlukan di basis data untuk menyimpan data model Anda.

Bagaimana cara membuat view dan template di Django?

Di Django, view adalah fungsi yang menangani permintaan HTTP dan mengembalikan respons HTTP. Anda dapat membuat view dengan mendefinisikan fungsi di app Django Anda yang menerima request dan mengembalikan respons. Template adalah file HTML yang berisi placeholder untuk konten dinamis. Anda dapat menggunakan bahasa template Django untuk menyisipkan konten dinamis ke dalam template dan merendernya di view Anda.

Bagaimana cara melakukan deploy aplikasi Django?

Ada beberapa cara untuk menerapkan (deploy) aplikasi Django, tergantung pada kebutuhan dan preferensi hosting Anda. Beberapa opsi umum termasuk melakukan deploy ke platform cloud seperti Heroku atau AWS, menggunakan web server seperti Apache atau Nginx, atau menggunakan layanan hosting seperti PythonAnywhere atau DigitalOcean.

Topik
Python

Kursus Python

Kursus

Pengantar Python

4 jam
7M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya