More

    Tutorial Django Bahasa Indonesia #4: Membuat App Django

    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 APP dengan Project di django.

    Apa itu Project?

    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.

    Apa itu App?

    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.

    Struktur Project Django

    djangoproject/
    |-- djangoproject
    | |-- __init__.py
    | |-- settings.py
    | |-- urls.py
    | `-- wsgi.py
    `-- manage.py

    Struktur Direktori Project dan APP django

    djangoproject/
    |-- djangoproject //Project direktori
    | |-- __init__.py
    | |-- djangoapp //App direktori
    | | |-- __init__.py
    | | |-- admin.py
    | | |-- apps.py
    | | |-- migrations
    | | | |-- __init__.py
    | | |-- models.py
    | | |-- tests.py
    | | |-- views.py
    | |-- settings.py
    | |-- urls.py
    | |-- wsgi.py
    |-- manage.py

    Bisa dilihat, pada struktur direktori diatas, kita membuat app didalam rektori project django.

    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(messy code). Analoginya sama seperti ketika kita meletakkan barang-barang milik kita pada 1 tempat, saat kita mencari barang tertentu tentu akan sangat sulit sekali bukan?

    Nah untuk itu, kita perlu memecah fungsi-fungsi yang ada di website kita menjadi beberapa App.

     Contoh implementasinya Sebagai berikut:

    Misalkan, ada study case tentang pembuatan project dengan nama myBlog, dimana didalam aplikasi myBlog tersebut terdapat fitur post, about us, dan contact us.

    Apabila kita berpedoman pada penggunaan app di django, kita bisa memecah ketiga fitur tersebut menjadi beberapa app didalam project myBlog. Struktur direktorinya akan menjadi seperti ini.

    myBlog/
    |-- myBlog
    | |-- __init__.py
    | |-- post //app direktori
    | | |-- __init__.py
    | | |-- admin.py
    | | |-- apps.py
    | | |-- migrations
    | | | |-- __init__.py
    | | |-- models.py
    | | |-- tests.py
    | | |-- views.py
    | |-- aboutus //app direktori
    | | |-- __init__.py
    | | |-- admin.py
    | | |-- apps.py
    | | |-- migrations
    | | | |-- __init__.py
    | | |-- models.py
    | | |-- tests.py
    | | |-- views.py
    | |-- contactus //app direktori
    | | |-- __init__.py
    | | |-- admin.py
    | | |-- apps.py
    | | |-- migrations
    | | | |-- __init__.py
    | | |-- models.py
    | | |-- tests.py
    | | |-- views.py
    | |-- settings.py
    | |-- urls.py
    | |-- wsgi.py
    |-- manage.py

    Terlihat memang akan ada begitu banyak folder dan file, tapi ini akan memudahkan kita untuk me-maintenance kode-kode tersebut. Misal, apabila kita akan melakukan perubahan pada fitur post, maka kita hanya perlu fokus pada app post saja.

    Membuat App Django

    Setelah kita membahas kegunaan app 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 Tutorial Django Bahasa Indonesia #3: Membuat Project Django. Karena artikel ini merupakan lanjutan dari artikel tersebut.

    Pada artikel sebelumnya kita sudah membuat project dengan nama mysite. Sekarang didalam project folder tersebut kita akan membuat app baru dengan nama blog
    python manage.py startapp blog

    Sekarang buka buka code editor anda dan buka folder project mysite, maka sekarang akan ada direktori baru dengan nama blog.membuat app django

    Saat ini, app blog 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 blog kedalam settings.py yang ada pada project direktori django.

    Caranya:

    Buka file settings.py lalu ke bagian INSTALLED_APPS, masukkan nama app kita pada bagian INSTALLED_APPSmembuat app django

    Untuk kedepannya kita akan sering bermain-main dengan settings.py ini. Karena semua pengaturan yang ada di project kita berada pada file ini.

    Saat ini kita akan menggunakan 1 app saja untuk mengetahui bagaimana django bekerja.

    Cukup sekian artikel membuat app django, untuk selanjutnya kita akan membahas tentang URL/Routing django. Dimana, URL routing ini berfungsi untuk mengalihkan halaman dari 1 halaman ke halaman yang lainnya.

    Seluruh source code yang ada pada series ini akan saya letakkan pada github saya.

    Link : Github

     

    Recent Articles

    [td_block_21]

    Related Articles

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Dapatkan konten terbaik dari kami!