Django Tutorial 7 : Mengeluarkan data dari database

  Oke, kita sudah memiliki 2 klas table di dalam models, kita juga sudah mengatur urlconf dan views, tibalah saatnya bagi kita untuk mempelajar “bagaimana cara mengeluarkan data dari database ke user interface”. Kita ambil contoh model/table menu, maka cara mengeluarkan datanya adalah sebagai berikut :

  • kita import model menu
  • kemudian kita kita ambil data data menu atau query data menu
  • kemudian data tersebut kita kirim ke template untuk di render

Coba kita buka browser kita, dan kita arahkan ke alamat http://localhost:8000/ , dimana website project pawang kita berada. Nah tugas kita adalah mengganti kata kata “Hello World” tersebut dengan data dari tabel menu. Tentu saja kita harus memasukkan sample data ke dalam tabel menu untuk kita mainkan.

Tutorial :

  1. Berikut ini adalah perintah SQL yang perlu dijalankan dari postgresql console atau PGADMIN III atau tools yang lainnya. Kita akan memasukkan 3 record ke dalam tabel menu.
    INSERT INTO public.menus(id, parent_menu_id, name, link, status, level_degree, arrange_no, created_date) 
        VALUES(1, '', 'Administration', '/core/', 0, 0, 1, NOW());
    INSERT INTO public.menus(id, parent_menu_id, name, link, status, level_degree, arrange_no, created_date) 
        VALUES(2, 1, 'Permission', '/core/', 0, 1, 1, NOW());
    INSERT INTO public.menus(id, parent_menu_id, name, link, status, level_degree, arrange_no, created_date) 
        VALUES(3, 2, 'Menu', '/core/', 0, 2, 2, NOW());
    
  2. Step berikutnya adalah import data Menu, maka kita buka file kontroler/view kita, yakni based.py. tambahkan baris perintah berikut ini untuk import model menu.

    from core.models import Menu

    Kemudian kita ambil data yang sudah kita masukkan ke tabel menu tadi dan kita tampung didalam varial rs dengan perintah seperti ini.

    rs = Menu.objects.filter()

    Kemudian variabel rs tempat kita menampung data itu kita kirimkan ke template index.html dengan perintah seperti ini.

    c = Context({"name" : "test",
    "menu_rs" : rs
    })

    Jadi sekarang file based.py kita akan terlihat seperti ini.

    from django.http import HttpResponse
    from django.template import Context, loader
    from django.http import HttpResponse
    from core.models import Menu
    
    def index(request):
        rs = Menu.objects.filter()
        t = loader.get_template('core/index.html')
        c = Context({"name" : "test",
                            "menu_rs" : rs
                           })
        return HttpResponse(t.render(c))
    
  3. Setelah itu kita harus merubah file template index.html, dan kita ubah baris Hello World tersebut menjadi seperti ini
      <ul>
    	  {% for menu in menu_rs %}
    	  <li>{{ menu }}</li>
    	  {% endfor %}
       </ul>
    
  4. Simpan file index.html, dan kita periksa hasilnya melalui http://localhost:8080/ . Apabila kita bisa melihat data Administration, Permission dan Menu, maka kita sudah berhasil mengeluarkan data dari database.
  5. Selamat anda sudah menyelesaikan tutorial untuk kali ini. Next tugas kita adalah menempatkan data tersebut dalam sebuah GRID

Author: Nareswara

Ordinary People with eye glasses

Leave a Reply

Your email address will not be published. Required fields are marked *