Membangun Aplikasi Web Python dengan Django

Django adalah kerangka kerja web Python tingkat tinggi yang mendukung pengembangan cepat dan desain yang bersih dan pragmatis. Kerangka kerja ini mengatasi banyak kerumitan pengembangan web, sehingga pengembang dapat fokus menulis aplikasi alih-alih menciptakan kembali sesuatu yang sudah ada. Artikel ini akan memandu Anda membangun aplikasi web sederhana menggunakan Django.

Memulai dengan Django

Sebelum Anda dapat mulai membangun aplikasi web Django, Anda perlu menginstal Django. Anda dapat menginstal Django menggunakan pip, penginstal paket Python:

pip install django

Setelah Django terinstal, Anda dapat membuat proyek Django baru dengan menjalankan perintah berikut di terminal atau prompt perintah Anda:

django-admin startproject myproject

Perintah ini membuat direktori baru bernama myproject dengan file-file yang diperlukan untuk memulai. Arahkan ke direktori ini:

cd myproject

Membuat Aplikasi Django

Di dalam proyek Django Anda, Anda dapat membuat aplikasi individual yang menangani fungsi tertentu. Misalnya, Anda mungkin memiliki aplikasi untuk autentikasi pengguna, aplikasi lain untuk posting blog, dsb. Untuk membuat aplikasi, jalankan perintah berikut:

python manage.py startapp myapp

Ini akan membuat direktori baru bernama myapp yang berisi file-file seperti models.py, views.py, dan tests.py, dan lain-lain. Anda akan menentukan model, tampilan, dan templat Anda dalam aplikasi ini.

Mendefinisikan Model

Model Django menentukan struktur data Anda dan direpresentasikan sebagai kelas Python. Anda menentukannya dalam berkas models.py di dalam aplikasi Anda:

from django.db import models

class BlogPost(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 Anda menentukan model, Anda perlu membuat tabel basis data untuk model tersebut. Jalankan perintah berikut untuk menerapkan migrasi:

python manage.py makemigrations
python manage.py migrate

Membuat Tampilan dan Template

Tampilan Django menangani logika aplikasi Anda dan berinteraksi dengan model untuk merender data dalam templat. Tampilan sederhana dapat dibuat dalam berkas views.py:

from django.shortcuts import render
from .models import BlogPost

def home(request):
    posts = BlogPost.objects.all()
    return render(request, 'home.html', {'posts': posts})

Kode di atas mengambil semua posting blog dari database dan meneruskannya ke template yang disebut home.html. Template home.html disimpan dalam direktori yang disebut templates di dalam aplikasi Anda:

<!DOCTYPE html>
<html>
<head>
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    <ul>
    {% for post in posts %}
        <li>{{ post.title }} - {{ post.created_at }}</li>
    {% endfor %}
    </ul>
</body>
</html>

Mengonfigurasi URL

Untuk menghubungkan tampilan ke URL, Anda perlu menentukan pola URL. Buat file bernama urls.py di direktori aplikasi Anda dan tambahkan kode berikut:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

Kemudian, sertakan pola URL aplikasi ini dalam file urls.py proyek utama:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

Menjalankan Server Pengembangan

Setelah menyiapkan model, tampilan, templat, dan URL Anda, Anda dapat menjalankan server pengembangan Django untuk melihat aplikasi web Anda beraksi:

python manage.py runserver

Buka peramban web dan navigasikan ke http://127.0.0.1:8000/ untuk melihat aplikasi web Django Anda berjalan.

Kesimpulan

Django memudahkan pembuatan aplikasi web yang tangguh dan kuat dengan Python. Panduan ini membahas dasar-dasar penyiapan proyek Django, pembuatan aplikasi, pendefinisian model, pembuatan tampilan dan templat, konfigurasi URL, dan menjalankan server pengembangan. Dengan Django, Anda dapat membangun aplikasi web yang dapat diskalakan dan dikelola dengan mudah.