Anda di halaman 1dari 19

Pelatihan Pembuatan Aplikasi

Sederhana Menggunakan
Django 2.1.5

ARISSA APRILIA NURCAHYANI


BTI UMS
Membuat Aplikasi Sederhana dengan Django 2.1.5
1 Pengantar
Django adalah sebuah framework full-stack untuk membuat aplikasi web dengan bahasa pemrograman Python.
Framework akan membantu kita membuat web lebih cepat, dibandingkan menulis kode dari nol. Pemrograman django
meliputi sisi front-end (sisi yang dilihat oleh pengguna) dan juga back-end (sisi logika, algoritma dan database.

Django menggunakan konsep Model, Views, Template (MVT) dimana:

a) Model berisi kelas-kelas yang menggambarkan table pada database.


b) Views berisi kumpulan function di dalam suatu modul yang akan memproses request dan memberikan response
seperti controller di MVC
c) Template berisi file-file HTML yang nantinya akan dilihat langsung oleh user.

Jadi, request dari user dalam bentuk URL, di teruskan ke views. Selanjutnya views akan menulis/mengambil data
dari models. Kemudian mengirimkan data yang telah diproses ke template untuk diracik dan ditampilkan sebagai respon
ke user. Secara sederhana dapat digambarkan:

2 Apa yang dibutuhkan?


a) Niat
b) Python
c) Pip
d) Virtual Environment
e) Command Prompt/Terminal
f) IDE/Code Editor
3 Installasi
3.1 Install Python
4 Membuat Virtual Environment
Masuk ke direktori yang kita inginkan untuk menyimpan project, misalkan Documents dengan nama folder Aplikasi.

Untuk membuat virtual environment, masukkan command:

python -m venv aplikasi_env

Untuk mengaktifkan virtual environment yang sebelumnya telah kita buat, dapat kita lakukan dengan command:

C:\Users\LENOVO\Documents\aplikasi>aplikasi_env\Scripts\activate

Jika nama virtual environment sudah muncul sebagai prefix, berarti virtual environment berhasil diaktifkan.
5 Menginstall Django
Pada tahap ini akan kita lakukan installasi Django dengan menggunakan PIP. Namun, sebelumnya harus kita pastikan
menggunakan pip versi terbaru. Upgrade pip dapat dilakukan dengan command:

(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi>python -m pip install --


upgrade pip

Kemudian lakukan download dan install Django dengan command:

(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi>pip install Django

6 Membuat Django Project


Buat sebuah project missal “Mahasiswa” dengan command:

(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi>django-admin
startproject mahasiswa

Keterangan:
 startproject adalah perintah untuk membuat project;
 mahasiswa adalah nama direktori project-nya.
Jika project berhasil dibuat, maka akan muncul folder “mahasiswa” sesuai dengan nama project yang kita buat tadi.
Di dalam direktori mahasiswa akan kita dapatkan struktur sebagai berikut:

Ada beberapa file dan direktori yang harus kita ketahui:

 Direktori mahasiswa/ adalah root direktori yang berisi seluruh file dari project.
 File manage.py adalah program untuk mengelola project Django. Kita akan sering mengeksekusi manage.py saat
ingin melakukan sesuatu terhadap project, misalnya: menjalankan server, melakukan migrasi, membuat aplikasi,
dll.
 File mahasiswa/__init__.py adalah sebuah file kosong yang menyatakan direktori ini adalah sebuah paket
(python package).
 File mahasiswa /settings.py adalah tempat kita mengkonfigurasi project.
 File mahasiswa /urls.py adalah tempat kita mendeklarasikan URL.
 File mahasiswa /wsgi.py adalah entri point untuk WSGI-compatible

7 Menjalankan Project
Project yang telah kita buat tadi dapat dijalankan dengan command:

(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi\mahasiswa>python
manage.py runserver

Masuk ke url http://127.0.0.1:8000/ dengan browser, dan akan kita jumpai halaman seperti dibawah ini:
8 Menyesuaikan Setting
Buka file settings.py pada direktori mahasiswa. Kemudian lakukan penyesuaian sesuai dengan yang kita inginkan.
Misalkan:

a. Bahasa dan TimeZone

b. Database
Django tlah menyediakan database default/bawaan yaitu SQLite.

9 Membuat Aplikasi Data Mahasiswa


Project berhasil dijalankan, artinya kita siap untuk memulai membuat aplikasi di dalam project kita. Langkah pertama
yang harus dilakukan adalah:

9.1 Membuat Aplikasi


Buat aplikasi misal “data_mahasiswa” dengan command:
(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi\mahasiswa>python
manage.py startapp data_mahasiswa

Python secara otomatis akan membuat folder data_mahasiswa beserta file-file yang akan dibutuhkan untuk
pengerjaan aplikasi data_mahasiswa.

9.2 Menginstall aplikasi ke project


Buka file settings.py pada direktori mahasiswa dengan code editor, kemudian edit bagian INSTALLED_APPS, tambahkan
‘data_mahasiswa’.
9.3 Membuat Model Data Mahasiswa
Pada tahap ini akan kita lakukan pembuatan database data mahasiswa. Pertama kita definisikan filed-field yang
diperlukan pada file models.py:

from django.db import models


# Create your models here.
JENIS_KELAMIN = (
(0, 'Laki-laki'),
(1, 'Perempuan'),
)

class DataMahasiswa(models.Model):
nama = models.CharField(max_length=200)
nim = models.CharField(max_length=10, unique=True)
tempat_lahir = models.CharField(max_length=200)
tanggal_lahir = models.DateField()
no_hp = models.IntegerField(null=True, blank=True)
alamat = models.TextField()
jenis_kelamin=models.SmallIntegerField(choice s=JENIS_KELAMIN)

def __str__(self):
return self.nama

Pada bagian bawah kita melihat method __str__(self) yang akan menampilkan representasi object dalam bentuk string
yang dapat dibaca.

9.4 Migrasi Database


Setelah models dibuat, langkah selanjutnya adalah melakukan migrasi database. migrasi database merupakan sebuah
cara untuk mengubah data di database dengan mengikuti suatu skema. Django menyediakan pembuatan skema
migrasi secara otomatis dengan menggunakan command:

(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi\mahasiswa>python
manage.py makemigrations
Secara otomatis, akan tercipta file skema dengan nama 0001_initial.py.

Untuk mengaplikasikan skema tersebut masukkan command:

(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi\mahasiswa>python
manage.py migrate

9.1 Django Admin


Django telah menyediakan halaman admin yang dapat kita gunakan untuk pengelolaan data. Django admin dapat diakses
oleh user dengan role “SuperUser”. Halaman Django admin dapat diakses melalui url:
http://127.0.0.1:8000/admin/
Kita akan diarahkan ke halaman login. Pertama kita harus membuat SuperUser untuk dapat masuk ke halaman Django
Admin. Pembuatan superuser dapat dilakukan dengan command:

(aplikasi_env) C:\Users\LENOVO\Documents\aplikasi\mahasiswa>python
manage.py createsuperuser

Kemudian login dengan user yang baru saja kita buat. Setelah berhasil masuk kita akan berhadapan dengan halaman
seperti ini:

Bagaimana dengan data mahasiswa? Kenapa tidak ada?

Untuk memunculkan halaman pengelolaan data mahasiswa, perlu kita definisikan terlebih dahulu melalui file admin.py.

from django.contrib import admin

# Register your models here.


from .models import DataMahasiswa #import DataMahasiswa dari models.py

admin.site.register(DataMahasiswa)
Maka akan muncul pada halaman admin seperti berikut ini:

Coba tambahkan data, kemudian simpan.


10 Pengelolaan Data Mahasiswa (CRUD) tanpa halaman Admin
Selanjutnya akan kita lakukan pengelolaan Data Mahasiswa untuk Create, Read, Update, dan Delete tanpa halaman admin.

10.1 Modifikasi file views.py


Buka file data_mahasiswa/views.py. Kemudian masukkan code berikut:

from django.shortcuts import render


from .models import DataMahasiswa
# Create your views here.
def index(request):
data = {}

data_mahasiswa = DataMahasiswa.objects.all()
data['mahasiswa'] = data_mahasiswa
return render(request,'index.html', data)

 Dictionary, untuk menyimpan data yang akan dikirimkan ke template

 data_mahasiswa, variable untuk menyimpan semua data yang dipanggil dari table DataMahasiswa

 data[‘mahasiswa’], data adalah dictionary yang telah dibuat, sedangkan ‘mahasiswa’ menunjukkan
key atau kunci yang akan dipanggil ketika di template.

 Meneruskan request data ke template ‘index.html’ sekaligus mengirimkan datanya.

10.2 Membuat Template


Untuk membuat template sederhana, kita dapat memanfaatkan framework CSS Bootstrap. Buat sebuah folder misal ‘static’
di direktori mahasiswa, kemudian copy-paste komponen bootstrap-CSS ke dalam folder tersebut.

Kemudian sesuaikan pada file settings.py:

STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
10.2.1 Buat Base Template
Base template merupakan basis template yang akan digunakan untuk semua template yang akan kita gunakan. Hal ini
sangat berguna karena mengurangi penulisan kode berulang dan menjaga konsistensi template.

Buat file base_template.html.

Copy-Paste code dari:

https://drive.google.com/drive/u/2/folders/1xreaOjQ47JgwdSj41JKwQM9ISVyOubA3

10.2.2 Buat file untuk content


Buat file bernama index.html, file digunakan untuk menampilkan seluruh data mahasiswa yang ada di table
DataMahasiswa.

Copy-Paste code dari:

https://drive.google.com/drive/u/2/folders/1xreaOjQ47JgwdSj41JKwQM9ISVyOubA3

10.3 Modifikasi file urls.py


Urls.py digunakan untuk mengatur URL aplikasi yang akan kita akses nantinya. Pertama kita modifikasi file urls utama,
yaitu file urls.py yang berada di direktori mahasiswa:

from django.contrib import admin


from django.urls import path, include

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

path('', include('data_mahasiswa.urls')), #<== tambahkan url


untuk data_mahasiswa
]

Kemudian buat file urls di direktori data_mahasiswa, untuk mengatur URL khusus untuk aplikasi data_mahasiswa.

from django.urls import path


from . import views

urlpatterns = [
path('', views.index, name='index'),
]
Coba buka http://127.0.0.1:8000/ dan lihat hasilnya:

10.4 Menambah Data Mahasiswa dengan FormBuilder


Django menyediakan fasilitas untuk generate form secara otomatis sesuai dengan Model yang kita definisikan ke dalam
HTML atau template dengan Form Builder. Langkah yang harus dilakukan adalah membuat dengan nama forms.py,
kemudian masukkan kode:

from django import forms

from .models import DataMahasiswa

class MahasiswaForm(forms.ModelForm):
class Meta:
model = DataMahasiswa
fields = ('nama', 'nim', 'tempat_lahir', 'tanggal_lahir',
'jenis_kelamin', 'no_hp', 'alamat',)
widgets = {'tanggal_lahir':
forms.DateInput(format='%d/%m/%Y',attrs={'class': 'datepicker'})}
Untuk mengirimkan forms tersebut ke templates, kita perlu mendefinisikannya melalui file views.py, tambahkan kode:

def tambah_mahasiswa(request):
if request.method == 'POST':
form = MahasiswaForm(request.POST)
if form.is_valid():
form.save()
return redirect('index')
else:
form = MahasiswaForm()

mydata = {}
mydata['form'] = form
return render(request, "add_mhs.html", mydata)

Jangan lupa menambahkan URL pada data_mahasiswa/urls.py.

from django.urls import path


from . import views

urlpatterns = [
path('', views.index, name='index'),
path('add', views.tambah_mahasiswa, name='add'), #<==tambahkan

Selanjutnya kita buat halaman untuk menambah mahasiswa, buat file add_mhs.html:

Copy-paste code dari:

https://drive.google.com/drive/u/2/folders/1xreaOjQ47JgwdSj41JKwQM9ISVyOubA3

Jangan lupa tambahkan url untuk tombol “Tambah” pada template:

<div>
<a href="{% url 'add' %}" class="btn btn-primary"role="button">Tambah
Mahasiswa</a>
</div>
Coba buka http://127.0.0.1:8000/ dan klik tombol “Tambah”, hasilnya:

Coba Masukkan data dan Simpan.

10.5 Mengedit Data Mahasiswa


Untuk membuat fitur edit data, pertama kita tambahkan kode ke views.py:

def edit_mahasiswa(request, id):


mahasiswa = DataMahasiswa.objects.get(pk = id)
if request.method == 'POST':
form = MahasiswaForm(request.POST, instance=mahasiswa)
if form.is_valid():
form.save()
return redirect('index')
else:
form = MahasiswaForm(instance=mahasiswa)

mydata = {}
mydata['form'] = form
return render(request, "add_mhs.html", mydata)
Jangan lupa menambahkan URL pada data_mahasiswa/urls.py.

from django.urls import path


from . import views

urlpatterns = [
path('', views.index, name='index'),
path('add', views.tambah_mahasiswa, name='add'),
path('edit/<int:id>', views.edit_mahasiswa, name='edit'), #<==tambahkan
]

Jangan lupa tambahkan url untuk tombol “Edit” pada template:

<a href="{% url 'edit' d.id %}" class="btn btn-warning" role="button">Edit


Mahasiswa</a>

Coba buka http://127.0.0.1:8000/ dan klik tombol “Edit” pada salah satu data, hasilnya:

Coba Edit data dan Simpan.


10.6 Menghapus Data Mahasiswa
Untuk membuat fitur hapus data, pertama kita tambahkan kode ke views.py:

def hapus_mahasiswa(request, id):


mahasiswa = DataMahasiswa.objects.get(pk = id)
mahasiswa.delete()
return redirect('index')

Jangan lupa menambahkan URL pada data_mahasiswa/urls.py.

from django.urls import path


from . import views

urlpatterns = [
path('', views.index, name='index'),
path('add', views.tambah_mahasiswa, name='add'),
path('edit/<int:id>', views.edit_mahasiswa, name='edit'),
path('hapus/<int:id>', views.hapus_mahasiswa, name='hapus'), #<==tambahkan
]

Jangan lupa tambahkan url untuk tombol “Hapus” pada template:

<a href="{% url 'hapus' d.id %}" class="btn btn-danger hapusItem"


role="button">Hapus Mahasiswa</a>

Coba buka http://127.0.0.1:8000/ dan klik tombol “Hapus” pada salah satu data, hasilnya:

-Selesai-

Anda mungkin juga menyukai