WEB FRAMEWORK
Django Python
Oleh:
Hari Fitraningrum K.
P a g e | ii
Web Framework Django Python
Web Framework Django Python
LEMBAR PENGESAHAN
Telah diperiksa dan diuji oleh Pembimbing
Pada Tanggal:
Dengan Nilai:
Menyetujui,
Mengetahui,
Koordinator Kerja Praktek,
Kata Pengantar
Hari Fitraningrum
Page |i
Web Framework Django Python
DAFTAR ISI
Table of Contents
Kata Pengantar .............................................................................. i
DAFTAR ISI .................................................................................... ii
BAB 1 ............................................................................................ 2
PENGANTAR.................................................................................. 2
Sejarah Django ....................................................................... 3
Instalasi Django ...................................................................... 3
BAB 2 ............................................................................................ 8
PENGENALAN PROJECT ................................................................ 8
Pengenalan Project ................................................................. 8
Pengenalan Views ................................................................. 10
Pengenalan Templates ......................................................... 11
Pengenalan App .................................................................... 12
Pengenalan URL App .......................................................... 14
BAB 3 .......................................................................................... 17
TEMPLATE PADA APP ................................................................. 17
Template pada App .............................................................. 17
Template Variabel ................................................................ 18
Template Logic ..................................................................... 20
BAB 4 .......................................................................................... 22
STATIC FILE ................................................................................. 22
Static File ............................................................................... 22
Static File menambah Gambar ........................................... 23
P a g e | ii
Web Framework Django Python
P a g e | iii
Web Framework Django Python
CRUD........................................................................................... 67
Validasi Form ....................................................................... 67
Model Form........................................................................... 68
Model form validators.......................................................... 69
Menambahkan Attribute pada tag model Form ............... 70
Delete Data pada Form ........................................................ 72
Update Data pada Form ...................................................... 74
BAB 9 .......................................................................................... 79
CLASS BASED VIEWS ................................................................... 79
Template Views (Class based views) ................................... 79
BAB 10 ........................................................................................ 82
USER MANAGEMENT.................................................................. 82
User Management................................................................. 82
Authentication User, Login dan Logout ............................. 83
Pengenalan User Permition Check ..................................... 84
User and Group Permition Test .......................................... 86
DAFTAR PUSTAKA ....................................................................... 89
P a g e | iv
Web Framework Django Python
BAB 1
PENGANTAR
Page |1
Web Framework Django Python
BAB 1
PENGANTAR
Page |2
Web Framework Django Python
Sejarah Django
Django dibuat pada musim gugur 2003,
ketika pemrogram web di surat kabar Lawrence Journal-
World , Adrian Holovaty dan Simon Willison , mulai
menggunakan Python untuk membangun aplikasi. Jacob
Kaplan-Moss dipekerjakan di awal pengembangan Django
tak lama sebelum magang Simon Willison berakhir. Dirilis
secara publik di bawah lisensi BSD pada Juli 2005.
Kerangka ini dinamai gitaris Django Reinhardt.
Page |3
Web Framework Django Python
• Instalasi Django
Page |4
Web Framework Django Python
Page |5
Web Framework Django Python
Page |6
Web Framework Django Python
BAB 2
PENGENALAN PROJECT
Page |7
Web Framework Django Python
BAB 2
PENGENALAN PROJECT
Pengenalan Project
Pada Web Framework Django ada beberapa
komponen yang didapat untuk berekstensi .py atau file script
menggunakan bahasa pemrograman python.
• __init__.py
File kosong yang memberitahu Python bahwa
direktori ini dianggap sebagai paket Python. Tapi
tetap berguna sebagai inisialisasi yang menunjukkan
bahwa folder ini adalah suatu module.
• asgi.py
Titik masuk untuk web server yang kompatibel
dengan ASGI untuk melayani proyek Anda.
Page |8
Web Framework Django Python
• settings.py
File setting dari project yang telah dibuat,
didalamnya terdapat konfigurasi seperti database,
enkripsi, template, dan pengaturan lainnya.
• ulrs.py
File yang berguna untuk bagian mendeklarasikan
URL project Django.
• wsgi.py
File untuk titik masuk web server untuk melayani
project Django.
Page |9
Web Framework Django Python
Pengenalan Views
Pada contoh sebelumnya, pembuatan view belum
dibahas secara mendetail. View masih berada didalam satu
file dengan urls. Agar file aplikasi project lebih tertata maka
kita buat file untuk views python yang terpisah dari urls.py.
P a g e | 10
Web Framework Django Python
Pengenalan Templates
Template pada Framework Django dibuat untuk
memudahkan developer web dalam membangun code
HTML. Penggunaan template diharapkan dapat
mempercepat dan menghindari penulisan code yang
berulang-ulang pada code HTML.
P a g e | 11
Web Framework Django Python
Pengenalan App
App adalah bagian dari project yang saling
berhubungan sehingga membentuk suatu project. App
sendiri mempunyai komponen masing-masing seperti views,
model, template, dan lain-lain tergantung app itu sendiri.
P a g e | 12
Web Framework Django Python
• __init.py
• admin.py
• app.py
• models.py
• test.py
• views.py
P a g e | 13
Web Framework Django Python
P a g e | 14
Web Framework Django Python
P a g e | 15
Web Framework Django Python
BAB 3
TEMPLATE PADA APP
P a g e | 16
Web Framework Django Python
BAB 3
P a g e | 17
Web Framework Django Python
Template Variabel
Template Variabel adalah penggunaan template dimana
file HTML pada template diatur langsung oleh views.py
penggunaan template variable dapat mempermudah pembuatan
HTML, seperti contoh saat ingin membuat 2 page html yang sama,
akan tetapi berbda pada isi tag-nya maka kita bisa mengatur isi tag
tersebut melalui views.py dan menggunakan sebuah file HTML
sebagai kerangka.
P a g e | 18
Web Framework Django Python
P a g e | 19
Web Framework Django Python
html dapat dijadikan banyak tampilan page. Hal ini tentunya akan
memudahkan proses pengerjaan suatu web.
Template Logic
P a g e | 20
Web Framework Django Python
BAB 4
STATIC FILE
P a g e | 21
Web Framework Django Python
BAB 4
STATIC FILE
Static File
P a g e | 22
Web Framework Django Python
P a g e | 23
Web Framework Django Python
P a g e | 24
Web Framework Django Python
P a g e | 25
Web Framework Django Python
P a g e | 26
Web Framework Django Python
P a g e | 27
Web Framework Django Python
P a g e | 28
Web Framework Django Python
P a g e | 29
Web Framework Django Python
P a g e | 30
Web Framework Django Python
BAB 5
MODEL DAN DATABASE
P a g e | 31
Web Framework Django Python
BAB 5
• SQLite
• MySQL
• PostgreSQL
• ORECLE
P a g e | 32
Web Framework Django Python
P a g e | 33
Web Framework Django Python
P a g e | 34
Web Framework Django Python
P a g e | 35
Web Framework Django Python
P a g e | 36
Web Framework Django Python
https://www.lfd.uci.edu/~gohlke/pythonlibs/. Sesuaikan
versi pythonnya dengan dua opsi yang disediakan dan
gunakan salah satu yang support dengan python yang
terinstal di PC.
P a g e | 37
Web Framework Django Python
P a g e | 38
Web Framework Django Python
P a g e | 39
Web Framework Django Python
P a g e | 40
Web Framework Django Python
P a g e | 41
Web Framework Django Python
P a g e | 42
Web Framework Django Python
P a g e | 43
Web Framework Django Python
2. Tipedata
Dalam database tentunya tipedata bukanlah suatu
hal yang asing lagi bagi kita. Tipe data menentukan
nilai tipe dari isi suatu kolom. Dalam Django tipedata
database sudah ditentukan melalui class yang telah
dimigrasikan.
3. Options
Melanjutkan keterangan dari Modelfield, option
adalah pemberian sebuah kondisi pada suatu
Modelfield. Modelfield selain untuk penentuan
tipedata suatu kolom database juga untuk memberikan
kondisi pada suatu form yang nantinya digunakan
untuk mengisikan data pada suatu view.seperti contoh
sebuah option dengan keterangan max_length
= 2 title =
models,CharField(max_length=2) maka field
atau form yang digunakan tidak akan bisa dimasuki
lebih dari 2 karakter.
4. Migrasi
Migrasi adalah proses mensinkronisasi antara class
models yang ada pada Django admin dengan database.
Setiap kali ada perubahan pada class maka diharuskan
melakukan migrasi agar tidak ada miss komunikasi.
Ada beberapa hal yang perlu diperhatikan saat
P a g e | 44
Web Framework Django Python
P a g e | 45
Web Framework Django Python
1. Menambahkan data
Untuk menambahkan data mnggunakan shell kita bisa
menuliskan (nama
object).objects.create(namakolom1=”isi”
, namakolom2=”isi”,) lalu tekan enter.
P a g e | 46
Web Framework Django Python
3. Update Data
Melakukan update data sama halnya dengan
menghapus data yakni dengan menambahkan index
dibelakangnya.
P a g e | 47
Web Framework Django Python
P a g e | 48
Web Framework Django Python
BAB 6
MEMBUAT URL
P a g e | 49
Web Framework Django Python
BAB 6
MEMBUAT URL
urlpatterns = [
re_path(r'^articles/(?P<year>[0-9]{4})/$',
views.articles),
P a g e | 50
Web Framework Django Python
def articles(request,year):
year=year
str = year
return HttpResponse(year)
P a g e | 51
Web Framework Django Python
P a g e | 52
Web Framework Django Python
P a g e | 53
Web Framework Django Python
BAB 7
FORM
P a g e | 54
Web Framework Django Python
BAB 7
FORM
Pengenalan Form
Form pada Django memiliki kelebihan pada keamanan.
Method post tidak bisa dilakukan jika sebelumnya kita belum
memasukkan keamanan Django berupa crfs_token. Csrf token
adalah sebuah serangan yang dipaksakan oleh pengguna agar
backend mengeksekusi perintah yang tidak seharusnya diizinkan.
Oleh karena itu token csrf ini wajib dimasukkan dalam sebuah
form di django agar user yang melakukan methode post adalah
user yang memiliki token. Apabila token csrf tidak dimasukkan
maka user tidak bisa melakukan post pada server.
P a g e | 55
Web Framework Django Python
P a g e | 56
Web Framework Django Python
P a g e | 57
Web Framework Django Python
P a g e | 58
Web Framework Django Python
1. forms.DecimalField()
field form untuk inputan number
2. forms.FloatField()
field form untuk inputan number
3. forms.BooleanField()
field form ini akan menampilkan checkbox yang
mengembalikan nilai true false
4. forms.CharField()
field form untuk inputan text
P a g e | 59
Web Framework Django Python
5. forms.EmailField()
field form untuk email
6. forms.RegexField()
field form untuk regular Expression
7. forms.SlugField()
field untuk mengisikan Slug
8. forms.URLField()
field form untuk mengisikan URL
9. forms.GenericIPAddressField()
field form untuk IP Address
10. forms.ChoicheField()
field form untuk menampilkan pilihan. Untuk
menambahkan pilihan kita inisialisasikan tuple untuk
dimasukkan kedalam option choices.
Pilihan((nilai1,pilihan1),
(nilai2,pilihan2)) pilih =
forms.ChoiceField(choices=pilihan)
11. forms.MultipleChoiceField()
field form yang juga memerlukan choices
12. forms.TypeMultipleChoiceField()
field form ini juga memerlukan choices
13. forms.NullBooleanField()
Digunakan ketika membutuhkan kondisi null pada
true dan false
P a g e | 60
Web Framework Django Python
14. forms.DateField()
form field format tanggal
15. forms.DateTimeField()
form field tanggal dan waktu
16. forms.DurationField()
field form untuk durasi
17. forms.TimeField()
field form untuk waktu
18. forms.SplitDateTimeField()
field form untuk memasukkan 2 buah inputan
datetime
19. forms.FileField()
form field untuk memasukkan file
20. forms.ImageField()
form untuk memasukkan gambar
Widget Form
Pada sebuah tag input terdapat attribut type. Attribute type
pada django ini diatur oleh Widget, saat kita tidak memasukkan
P a g e | 61
Web Framework Django Python
option Widget pada suatu Field maka yang digunakan oleh Django
adalah default widget. Seperti contoh kita hendak membuat text
area dengan menggunakan CharField. Kita hanya perlu mengubah
widget atau menginisialisasikan widget pada option charField.
Komentar = forms.CharField(widget =
forms.Textarea, max_length = 100, required =
False)
P a g e | 62
Web Framework Django Python
P a g e | 63
Web Framework Django Python
3. Mengimport model
P a g e | 64
Web Framework Django Python
P a g e | 65
Web Framework Django Python
BAB 8
CRUD
P a g e | 66
Web Framework Django Python
BAB 8
CRUD
Validasi Form
Validasi form diperlukan untuk membatasi inputanuser agar
sesuai dengan ketentuan. Validasi selain dari jumlah yang
diinputkan, kita juga bisa membatasi apa yang dimasukkan user.
P a g e | 67
Web Framework Django Python
Model Form
Model Form adalah class yang disediakan oleh Django
untuk mempersingkat atau menggabungkan model dengan form.
Pada penulisan form yang lalu kita diharuskan menuliskan
forms.CharField() untuk Model form kita tidak lagi menuliskan
kode tersebut, karena sejatinya penulisan model dan form adalah
hal yang sama. Berikut adalah langkah-langkah penulisan model
form.
P a g e | 68
Web Framework Django Python
P a g e | 69
Web Framework Django Python
P a g e | 70
Web Framework Django Python
P a g e | 71
Web Framework Django Python
P a g e | 72
Web Framework Django Python
P a g e | 73
Web Framework Django Python
P a g e | 74
Web Framework Django Python
P a g e | 75
Web Framework Django Python
P a g e | 76
Web Framework Django Python
P a g e | 77
Web Framework Django Python
BAB 9
CLASS BASED VIEWS
P a g e | 78
Web Framework Django Python
BAB 9
P a g e | 79
Web Framework Django Python
P a g e | 80
Web Framework Django Python
BAB 10
USER MANAGEMENT
P a g e | 81
Web Framework Django Python
BAB 10
USER MANAGEMENT
User Management
P a g e | 82
Web Framework Django Python
sebuah akun staff tidak memiliki izin akses pada tabel tersebut,
maka staff tidak bisa mengakses tabel tersebut.
P a g e | 83
Web Framework Django Python
P a g e | 84
Web Framework Django Python
P a g e | 85
Web Framework Django Python
P a g e | 86
Web Framework Django Python
group yang diizinkan. Tapi sebelum itu kita harus import dulu data
dari tabel group from django.contrib.auth.models
import Group untuk penjelasan detailnya kita lihat contoh
dibawah ini :
P a g e | 87
Web Framework Django Python
P a g e | 88
Web Framework Django Python
DAFTAR PUSTAKA
https://en.wikipedia.org/wiki/Django_(web_framework)
diakses 12 November 2020.
P a g e | 89
Web Framework Django Python
P a g e | 90