<p>Pada artikel sebelumnya kita telah mengenal apa itu django dan bagaimana cara membuat project pertama dengan django. Pada bagian ke #4 ini saya akan membahas tentang apa itu app pada django. Sebelum kita masuk pada pembuatan app django, ada baiknya kita tahu dulu apa perbedaan antara <strong>APP</strong> dengan <strong>Project</strong> di django.</p>
<h4 id="apa-itu-project"><strong>Apa itu Project?</strong></h4>
<p>Project dalam Django merupakan sebuah inti dari web aplikasi yang akan kita buat. Dan merupakan sebuah container bagi submodule serta konfigurasi. Project pada dasarnya bisa berjalan tanpa harus mempunyai App. Namun, pada skala besar biasanya akan memerlukan banyak App dalam sebuah project bila dibutuhkan. Jadi relasi antara Project dengan App bisa saling berelasi ataupun berjalan dengan sendirinya. Tergantung dari apa yang akan kita ciptakan.</p>
<h4 id="apa-itu-app"><strong>Apa itu App?</strong></h4>
<p>App merupakan bagian dari sebuah project yang kita buat. Tidak seperti Project yang bisa berjalan sendiri, App membutuhkan Project karena memang harus disatukan dengan Project. App dibuat untuk memenuhi fungsi tertentu dalam sebuah Project seperti : App Komentar, App file Uploader dsb. App ini pun bisa dipindah ke project lain ketika dibutuhkan. App bisa saling berhubungan/memerlukan dengan App lainnya dalam sebuah project. Yang dimana berarti relasi antara App dan Project adalah ketergantungan dan tidak bisa berjalan sendiri.</p>
<p><strong>Struktur Project Django</strong></p>
<p><code>djangoproject/<br />
|-- djangoproject<br />
| |-- __init__.py<br />
| |-- settings.py<br />
| |-- urls.py<br />
| `-- wsgi.py<br />
`-- manage.py</code></p>
<p><strong>Struktur Direktori Project dan APP django</strong></p>
<p><code>djangoproject/<br />
|-- djangoproject //Project direktori<br />
| |-- __init__.py<br />
| |-- djangoapp //App direktori<br />
| | |-- __init__.py<br />
| | |-- admin.py<br />
| | |-- apps.py<br />
| | |-- migrations<br />
| | | |-- __init__.py<br />
| | |-- models.py<br />
| | |-- tests.py<br />
| | |-- views.py<br />
| |-- settings.py<br />
| |-- urls.py<br />
| |-- wsgi.py<br />
|-- manage.py</code></p>
<p>Bisa dilihat, pada struktur direktori diatas, kita membuat app didalam rektori project django.</p>
<p>Seperti yang sudah saya katakan sebelumnya, kita bisa saja membangun sebuah web aplication hanya didalam direktori project. Namun, hal tersebut sangat tidak direkomendasikan, karena jika aplikasi tersebut memiliki banyak sekali fungsi-fungsi atau fitur. Maka, proses maintenance kode-kodenya akan menjadi sangat sulit(<em>messy code</em>). Analoginya sama seperti ketika kita meletakkan barang-barang milik kita pada 1 tempat, saat kita mencari barang tertentu tentu akan sangat sulit sekali bukan?</p>
<p>Nah untuk itu, kita perlu memecah fungsi-fungsi yang ada di website kita menjadi beberapa App.</p>
<p><em> </em>Contoh implementasinya Sebagai berikut:</p>
<p>Misalkan, ada <em>study case</em> tentang pembuatan <em>project </em>dengan nama <strong>myBlog</strong>, dimana didalam aplikasi <strong>myBlog</strong> tersebut terdapat fitur <strong>post</strong>, <strong>about us</strong>, dan <strong>contact us</strong>.</p>
<p>Apabila kita berpedoman pada penggunaan app di django, kita bisa memecah ketiga fitur tersebut menjadi beberapa app didalam project <strong>myBlog. </strong>Struktur direktorinya akan menjadi seperti ini.</p>
<p><code><strong>myBlog/</strong><br />
|-- myBlog<br />
| |-- __init__.py<br />
| |-- <strong>post</strong> //app direktori<br />
| | |-- __init__.py<br />
| | |-- admin.py<br />
| | |-- apps.py<br />
| | |-- migrations<br />
| | | |-- __init__.py<br />
| | |-- models.py<br />
| | |-- tests.py<br />
| | |-- views.py<br />
| |-- <strong>aboutus</strong> //app direktori<br />
| | |-- __init__.py<br />
| | |-- admin.py<br />
| | |-- apps.py<br />
| | |-- migrations<br />
| | | |-- __init__.py<br />
| | |-- models.py<br />
| | |-- tests.py<br />
| | |-- views.py<br />
| |-- <strong>contactus</strong> //app direktori<br />
| | |-- __init__.py<br />
| | |-- admin.py<br />
| | |-- apps.py<br />
| | |-- migrations<br />
| | | |-- __init__.py<br />
| | |-- models.py<br />
| | |-- tests.py<br />
| | |-- views.py<br />
| |-- settings.py<br />
| |-- urls.py<br />
| |-- wsgi.py<br />
|-- manage.py</code></p>
<p>Terlihat memang akan ada begitu banyak folder dan file, tapi ini akan memudahkan kita untuk me-<em>maintenance </em>kode-kode tersebut. Misal, apabila kita akan melakukan perubahan pada fitur <strong>post, </strong>maka kita hanya perlu fokus pada app <strong>post</strong> saja.</p>
<h2><strong>Membuat App Django</strong></h2>
<p>Setelah kita membahas kegunaan <strong>app </strong>pada django, sekarang kita akan belajar, bagaimana cara membuat app di django. Perlu diperhatikan, sebelum membuat app django pastikan anda membuat project terlebih dahulu, untuk tutorial membuat project anda bisa membaca artikel sebelumnya <strong><a href="https://www.tutorialpedia.net/tutorial-django-bahasa-indonesia-3-membuat-project-django/" target="_blank" rel="noopener">Tutorial Django Bahasa Indonesia #3: Membuat Project Django</a>. </strong>Karena artikel ini merupakan lanjutan dari artikel tersebut.</p>
<p>Pada artikel sebelumnya kita sudah membuat project dengan nama <strong>mysite. </strong>Sekarang didalam project folder tersebut kita akan membuat app baru dengan nama <strong>blog</strong><br />
<code>python manage.py startapp blog</code></p>
<p>Sekarang buka buka code editor anda dan buka folder project <strong>mysite</strong>, maka sekarang akan ada direktori baru dengan nama <strong>blog.<a href="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_699.png"><img class="aligncenter size-full wp-image-8073" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_699.png" alt="membuat app django" width="1919" height="1027" /></a></strong></p>
<p>Saat ini, app <strong>blog </strong>tersebut belum bisa berfungsi, karena app yang kita buat belum dikenali/dibaca oleh django project. Agar django project mengenali app yang sudah kita buat, kita perlu mendaftarkan nama app <strong>blog </strong>kedalam <strong>settings.py </strong>yang ada pada project direktori django.</p>
<p><strong>Caranya:</strong></p>
<p>Buka file <strong>settings.py </strong>lalu ke bagian <strong>INSTALLED_APPS, </strong>masukkan nama app kita pada bagian <strong>INSTALLED_APPS<a href="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_700.png"><img class="aligncenter size-full wp-image-8074" src="https://www.tutorialpedia.net/wp-content/uploads/Screenshot_700.png" alt="membuat app django" width="1919" height="1042" /></a></strong></p>
<p>Untuk kedepannya kita akan sering bermain-main dengan <strong>settings.py </strong>ini. Karena semua pengaturan yang ada di project kita berada pada file ini.</p>
<p>Saat ini kita akan menggunakan 1 app saja untuk mengetahui bagaimana django bekerja.</p>
<p>Cukup sekian artikel <strong>membuat app django</strong>, untuk selanjutnya kita akan membahas tentang URL/Routing django. Dimana, URL routing ini berfungsi untuk mengalihkan halaman dari 1 halaman ke halaman yang lainnya.</p>
<p>Seluruh <em>source code </em>yang ada pada series ini akan saya letakkan pada github saya.</p>
<p>Link : <a href="https://github.com/fikryans/latihan_django" target="_blank" rel="noopener">Github</a></p>
<p> ;</p>

Tutorial Django Bahasa Indonesia #4: Membuat App Django
Recent Articles
Kumpulan DNS Gratis Tercepat!
DNS merupakan sebuah sistem yang bertugas menyimpan semua informasi data domain dalam jaringan. Dengan adanya DNS, domain atau hostname yang ada akan ditranslate dan...
Apa itu DNS ? Dan Fungsinya
Apa itu DNS? - DNS (Domain Name System) adalah sebuah sistem yang bertugas menyimpan semua informasi data domain dalam jaringan. Dengan adanya DNS, domain...
Apa itu OLT ? Serta Fungsinya Dalam Jaringan
Apa itu olt ? OLT (Optical Line Termination) adalah perangkat keras yang berfungsi sebagai titik akhir (end-point) dari layanan jaringan optik pasif (Passive Optical...
Template Voucher Untuk Mixradius
Template Voucher Untuk Mixradius - Pasti kalian bosen kan dengan template voucher default mixradius? tenang. kali ini saya akan memberikan template untuk voucher mixradius kamu agar...
Daftar Port Game Online Mikrotik Terbaru
Daftar port game online dibawah ini bisa digunakan untuk membuat rule agar koneksi ke game online tersebut bisa lancar, bisa juga untuk memisahkan antara...