# dokumentasi Django 2.0.8

# Menulis aplikasi Django pertama anda, bagian 6

Tutorial ini mulai dimana Tutorial 5 ditinggalkan. Kami telah membangun aplikasi jejak pendapat Jaringan dicoba, dan kami akan sekarang menambahkan stylesheet dan sebuah gambar.

Disamping dari HTML dibangkitkan oleh peladen, aplikasi jaringan umumnya butuh melayani berkas-berkas tambahan - seperti gambar, JavaScript, atau CSS - perlu untuk membangun halaman jaringan lengkap. Di Django, kami mengacu pada berkas-berkas ini sebagai "berkas statis".

Untuk proyek kecil, ini bukanlah urusan besar, karena anda dapat hanya menjaga berkas statis di suatu tempat peladen jaringan anda dapat menemukannya. Bagaimanapun, proyek lebih besar -- khususnya mereka yang terdiri dari aplikasi banyak -- berurusan dengan kumpulan banyak dari berkas statis berdasarkan setiap aplikasi mulai mendapatkan yang rumit.

Itulah `django.contrib.staticfiles` diperuntukkan: dia mengumpulkan berkas statis dari setiap aplikasi anda (dan tempat lain apapun anda tentukan) kedalam tempat tunggal yang dapat dengan mudah dilayani di produksi.

## Sesuaikan aplikasi anda penampilan dan perasaan

Pertama, buat sebuah direktori dipanggil `static` di direktori `polls` anda. Django akan mencari berkas statis disana, sama halnya bagaimana Django menemukan cetakan didalam `polls/templates/`.

Pengaturan Django `STATICFILES_FINDERS` mengandung daftar dari penemu yang mengetahui bagaimana menemukan berkas statis dari beragam sumber. Satu dari awalnya adalah `AppDirectoriesFinder` yang mencari subdirektori "statis" di setiap dari `INSTALLED_APPS`, seperti satu di `polls` kami telah buat. Situs admin menggunakan struktur direktori sama untuk berkas statis nya.

Didalam direktori `static` anda telah buat, buat direktori lain disebut `polls` dan di dalamnya buat sebuah berkas disebut `style.css`. Dengan kata lain, stylesheet anda seharusnya di `polls/static/polls/style.css`. Karena bagaimana `AppDirectoriesFinder` penemu berkas statis bekerja, anda dapat mengacu ke berkas statis ini di Django semudah seperti `polls/style.css`, mirip pada bagaimana anda mengacu jalur untuk cetakan.

Namespacing berkas statis

Hanya seperti cetakan, kami mungkin dapat menjauhkan dengan menaruh berkas statis langsung di `polls/static` (daripada membuat subdirektori `polls` lainnya), tetapi ini akan sebenarnya menjadi ide buruk. Django akan memilih berkas statis pertama yang dia temukan namanya cocok, dan jika anda mempunyai berkas statis nama sama di aplikasi berbeda, Django akan tidak dapat membedakan antara mereka. Kami butuh dapat menempatkan Django pada satu yang benar, dan jalan termudah untuk memastikan ini adalah dengan namespacing mereka. Itu adalah, dengan menaruh berkas statis kedalan direktori lain dinamai untuk aplikasi itu sendiri.

Taruh kode berikut di stylesheet itu (`polls/static/polls/style.css`):

polls/static/polls/style.css

    li a {
        color: green;
    }

Selanjutnya, tambahkan berikut pada atas `polls/templates/polls/index.html`:

polls/templates/polls/index.html

    {% load static %}

    <link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />

Etiket cetakan `{% static %}` membagnkitkan URL mutlak dari berkas-berkas tetap.

Itu semua anda butuhkan melakukan untuk pengembangan. Muat kembali `http://localhost:8000/polls/` dan anda akan melihat tautan pertanyaan hijau (gaya Django!) yang berarti bahwa stylesheet anda dimuat dengan benar.

## Menambahkan gambar-latar belakang

Selanjutnya, kami akan membuat subdirektori untuk gambar. Buat sebuah sibdirektori `images` di direktori `polls/static/polls/`. Didalam direktori ini, taruh sebuah gambar dipanggil `background.gif`. Dengan kata lain, taruh gambar anda di `polls/static/polls/images/background.gif`.

Lalu, tambahkan ke stylesheet anda (`polls/static/polls/style.css`):

polls/static/polls/style.css

    body {
        background: white url("images/background.gif") no-repeat;
    }

Muat kembali `http://localhost:8000/polls/` dan anda harus melihat latar belakang dimuat di kiri atas dari layar.

Peringatan

Tentu saja etiket cetakan `{% static %}` tidak tersedia untuk digunakan di berkas statis seperti stylesheet anda yang tidak dibangkitkan oleh Django. Anda harus selalu menggunakan jalur relatif untuk menautkan berkas statis diantara satu sama lain, karena anda dapat merubah `STATIC_URL` (digunakan oleh etiket cetakan `static` untuk membangkitkan URLnya) tanpa harus merubah sekumpulan jalur di berkas statis anda.

Ini adalah dasar. Untuk lebih rinci di pengaturan dan lainnya disertakan dengan kerangka lihat bagaimana berkas statis dan acuan berkas statis. Menyebarkan berkas statis mengobrolkan bagaimana menggunakan berkas statis di peladen sebenarnya.

Ketika anda nyaman dengan berkas statis, baca bagian 7 dari tutorial ini untuk belajar bagaimana menyesuaikan pembangkitan-otomatis Django situs admin.