Pembahasan kali ini adalah tentang static file dan image, artinya menambahkan file css,
js dan gambar-gambar dalam Django. Terlebih dahulu buat folder dengan nama static dengan
posisi sejajar dengan app data, kemudian di dalam folder static terdapat tiga folder yaitu js, css
dan images, sebenarnya nama-nama folder bebas sesuai keinginan, folder-folder tesebut seperti
gambar berikut:
Mari lakukan uji coba dulu dengan css, pada file main.html sudah ada css sederhana,
buat file main.css di folder static/css/main.css, kemudian pindahkan atau cut css-nya yang ada
pada main.html. Lebih lengkapnya isi main.css seperti berikut:
#logo{}
body{
background-color: #ebeff5;
}
#total-orders{
background-color: #4cb4c7;
}
#orders-delivered{
background-color: #7abecc;
}
#orders-pending{
background-color: #7CD1C0;
}
Hasilnya file main.css tidak terbaca ya, hal tersebut disebabkan belum diatur pada file
setting.py yang ada di project dan belum dipanggil ke pusat templating yaitu file main.html.
STATICFILES_DIRS =[
os.path.join(BASE_DIR, 'static')
Penjelasan:
Letakkan kode di atas pada file setting.py yang ada di folder jualan posisi peletakannya
di paling bawah kode. Nilai BASE_DIR dipanggil dari pengaturan pada file setting.py, jadi file
setting.py pasti ada kode berikut:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Arti dari kode tersebut membuat jalur di dalam proyek, jalur tersebut berupa data folder yang
dibaca, kemudian nilai static mengikuti nama folder-nya. Berikutnya panggil dan sematkan
dengan cara penggailan css, seperti biasanya.
- Panggil artinya dengan cara letakkan kode berikut {% load static %}, di file
main.html, letakkan di paling atas kode.
- Sematkan artinya tulisan dengan cara pemanggilan css, seperti berikut:
{% load static %}
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-
to-fit=no">
<link rel="stylesheet" type="text/css" href="{% static '/css/main.css' %}">
………
Jalankan seperti biasanya, maka hasilnya css-nya berfungsi, dengan memberikan warna
pada file status.html. Sistem Django berikutnya adalah menambahkam gambar, yang akan
ditambah pertama icon pada header di file main.html dan kedua logo pada file navbar.html.
Silakan copy dan paste logo ke bagian folder images, sebagai contoh nama logo yang akan di
copy paste ialah logo.png, setelah file tersebut di copy paste ke folder images, tambahkan kode
berikut ke setting.py dengan posisi di atasnya kode static sebelumnya, seperti berikut:
Awalnya:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">DJANGO</a>
Ditambah dan Diganti:
{% load static %}
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<img src="{% static '/images/logo.png' %}">
Lihat hasilnya:
Hasilnya yang digaris lingkarang tersebut, tapi logonya terlalu besar, maka perlu di
desain pada css-nya. Cara id=”logo” pada kode di atas, dan kecilkan ukurannya pada main.css-
nya, seperti kode berikut:
#logo{
width: 50px;
}
Kemudian lihat hasilnya:
Pengaturan css pada main.css tidak harus bernilai width: 50px;tapi menyesuaikan
dengan ukuran gambar, jadi perkirakan sendiri agar sesuai dengan desain navbar.html-nya.