Ku ASah Keahlian Web Anda: Bootcamp Django & Python
1. Pengantar Django dan Python untuk Web Development
Django adalah framework web tingkat tinggi berbasis Python yang memudahkan pengembangan aplikasi web dengan cepat dan bersih. Python sendiri adalah bahasa pemrograman yang mudah dipelajari dan sangat populer.
Dengan Django, Anda dapat membangun aplikasi web yang scalable, aman, dan maintainable dengan fitur bawaan seperti ORM, routing, templating, dan autentikasi.
2. Persiapan Lingkungan Pengembangan
Pastikan Anda sudah menyiapkan:
- Python versi 3.8 atau lebih baru (unduh di python.org)
- Virtual environment untuk isolasi paket (gunakan
venv
)
- Editor kode seperti Visual Studio Code atau PyCharm
- Terminal atau command prompt
Contoh membuat virtual environment dan mengaktifkannya:
python -m venv env
# Windows
env\Scripts\activate
# macOS/Linux
source env/bin/activate
Setelah aktif, install Django:
pip install django
3. Membuat Proyek Django Baru
Buat proyek Django baru dengan perintah:
django-admin startproject mysite
Masuk ke folder proyek:
cd mysite
Jalankan server development:
python manage.py runserver
Buka browser dan akses http://127.0.0.1:8000/
untuk melihat halaman default Django.
4. Memahami Struktur Proyek Django
Struktur folder proyek Django:
mysite/
├── manage.py
├── mysite/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
- manage.py
: Script untuk menjalankan perintah Django.
- Folder mysite/
: Berisi konfigurasi proyek.
- settings.py
: Pengaturan proyek.
- urls.py
: Routing URL.
- wsgi.py
: Entry point untuk deployment.
5. Membuat Aplikasi Django dan Routing Dasar
Django menggunakan konsep aplikasi modular. Buat aplikasi baru dengan:
python manage.py startapp blog
Tambahkan aplikasi ke INSTALLED_APPS
di settings.py
:
INSTALLED_APPS = [
...
'blog',
]
Buat routing di blog/urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
Buat view sederhana di blog/views.py
:
from django.http import HttpResponse
def index(request):
return HttpResponse("Selamat datang di blog saya!")
Hubungkan routing aplikasi ke proyek utama di mysite/urls.py
:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls')),
]
6. Membuat Model Database dengan Django ORM
Django ORM memudahkan interaksi dengan database menggunakan model Python. Contoh model di blog/models.py
:
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
Jalankan migrasi untuk membuat tabel di database:
python manage.py makemigrations
python manage.py migrate
7. Membuat Views dan Templates
Gunakan template untuk memisahkan logika dan tampilan. Buat folder templates/blog/
dan file index.html
:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Blog Saya</title>
</head>
<body>
<h1>Daftar Post</h1>
<ul>
{% for post in posts %}
<li><strong>{{ post.title }}</strong> - {{ post.created_at }}</li>
{% empty %}
<li>Belum ada post.</li>
{% endfor %}
</ul>
</body>
</html>
Modifikasi view di blog/views.py
untuk render template:
from django.shortcuts import render
from .models import Post
def index(request):
posts = Post.objects.all().order_by('-created_at')
return render(request, 'blog/index.html', {'posts': posts})
9. Deployment dan Tips Produksi
Untuk deployment, Anda bisa menggunakan platform seperti Heroku, DigitalOcean, atau AWS. Beberapa tips:
- Gunakan database produksi seperti PostgreSQL.
- Atur
DEBUG = False
di settings.py
.
- Gunakan
WhiteNoise
untuk melayani file statis.
- Konfigurasi
ALLOWED_HOSTS
dengan domain Anda.
- Gunakan virtual environment dan requirements.txt untuk dependensi.
10. Sumber Belajar dan Referensi Tambahan