unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Django

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.