Django Model – Menghubungkan Dengan Template

Pada modul ini kita akan menghubungkan models yang telah dibuat pada modul sebelumnya dengan template.

Pertama kita setup url dahulu dengan membuat file boffice/urls.py, tambahkan code berikut

from django.urls import path
from boffice import views

urlpatterns = [
    path('', views.list_patients, name='list_patients')
]

Hubungkan urls level app dengan level project. Buka file my_site/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('boffice', include('boffice.urls'))
]

Kemudian buka file boffice/views.py, tambahkan code berikut

from django.shortcuts import render
from boffice import models

def list_patients(request):
    all_patients = models.Patient.objects.all()
    ctx = {'patients' : all_patients}
    return render(request, 'boffice/list.html', context=ctx)

Selanjutnya, buat folder boffice/templates/boffice. Kemudian buat file list.html didalamnya. Berikut isi file list.html.

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
    {% for person in patients %}
        <li>{{person}}</li>
    {% endfor %}
    </ul>
</body>
</html>

Jika Anda jalankan web server dengan perintah berikut:

$ python manage.py runserver

Kemudian akses url 127.0.0.1:8000/boffice, sesuai ekspektasi, akan ditampilkan list data patients.

Sampai disini kita sudah mempelajari bagaimana menghubungkan models dengan views dan template.

Sharing is caring:

Leave a Comment