Django #
Django adalah web framework high-level untuk Python yang mempermudah pengembangan aplikasi web yang cepat dan mudah dengan prinsip-prinsip desain yang bersih dan pragmatis. Django menangani banyak aspek umum dalam pengembangan web, sehingga pengembang dapat fokus pada penulisan aplikasi tanpa harus memikirkan detail rendah seperti manajemen basis data, routing URL, dan keamanan.
Instalasi Django #
Untuk memulai dengan Django, pertama-tama Anda perlu menginstalnya. Anda bisa menggunakan pip
untuk menginstal Django.
pip install django
Membuat Proyek Django #
Setelah Django terinstal, Anda dapat membuat proyek Django baru. Proyek Django adalah container untuk aplikasi web Anda.
django-admin startproject myproject
Ini akan membuat struktur direktori berikut:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py
manage.py
: Skrip utilitas untuk mengelola proyek Django.settings.py
: Pengaturan konfigurasi untuk proyek Django.urls.py
: Deklarasi URL untuk proyek Django.wsgi.py
: Entry point untuk server WSGI.
Menjalankan Server Pengembangan #
Untuk memulai server pengembangan Django, gunakan perintah berikut di direktori proyek Anda:
python manage.py runserver
Server pengembangan akan berjalan di http://127.0.0.1:8000/
.
Membuat Aplikasi Django #
Dalam proyek Django, Anda dapat membuat aplikasi. Aplikasi adalah komponen web yang melakukan sesuatu, misalnya, sistem blog, modul otentikasi, atau mesin komentar.
python manage.py startapp myapp
Ini akan membuat struktur direktori berikut untuk aplikasi Anda:
myapp/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
migrations/
admin.py
: Konfigurasi untuk Django admin interface.apps.py
: Konfigurasi aplikasi.models.py
: Definisi model basis data.tests.py
: Tes aplikasi.views.py
: Definisi view untuk aplikasi.migrations/
: Skrip migrasi basis data.
Menghubungkan Aplikasi ke Proyek #
Setelah membuat aplikasi, Anda harus menghubungkannya ke proyek dengan menambahkannya ke INSTALLED_APPS
di settings.py
.
# myproject/settings.py
INSTALLED_APPS = [
...
'myapp',
]
Definisi Model #
Model adalah definisi skema basis data dalam Django. Model didefinisikan sebagai kelas dalam models.py
.
# myapp/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
Migrasi Basis Data #
Setelah mendefinisikan model, Anda perlu membuat dan menerapkan migrasi untuk membuat tabel basis data.
python manage.py makemigrations
python manage.py migrate
Membuat Admin Interface #
Django memiliki admin interface yang dapat dikonfigurasi dengan cepat untuk mengelola data model.
# myapp/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
Kemudian, buat superuser untuk mengakses admin interface:
python manage.py createsuperuser
Setelah itu, Anda dapat mengakses admin interface di http://127.0.0.1:8000/admin/
.
Definisi View dan Template #
View adalah fungsi atau kelas yang menerima permintaan web dan mengembalikan respons. Template adalah file HTML yang digunakan untuk merender data yang dikirim oleh view.
# myapp/views.py
from django.shortcuts import render
from .models import Post
def index(request):
posts = Post.objects.all()
return render(request, 'myapp/index.html', {'posts': posts})
<!-- myapp/templates/myapp/index.html -->
<!DOCTYPE html>
<html>
<head>
<title>My Blog</title>
</head>
<body>
<h1>Posts</h1>
<ul>
{% for post in posts %}
<li>{{ post.title }} - {{ post.created_at }}</li>
{% endfor %}
</ul>
</body>
</html>
Menghubungkan URL #
URL routing digunakan untuk menghubungkan URL yang diminta oleh pengguna dengan view yang sesuai.
# myapp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
# myproject/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
Menjalankan Server Pengembangan #
Jalankan server pengembangan dan buka http://127.0.0.1:8000/myapp/
untuk melihat hasilnya.
python manage.py runserver
Kesimpulan #
Django adalah framework yang kuat dan serbaguna untuk pengembangan web dengan Python. Dengan fitur seperti ORM, admin interface, dan struktur yang terorganisir, Django memudahkan pengembang untuk membangun aplikasi web yang skalabel dan dapat dikelola dengan baik. Untuk informasi lebih lanjut, Anda bisa merujuk ke dokumentasi resmi Django.