2. Django Python – Routing, View, Templates

django python bahasa indonesia

1. Dasar Routing, View

  1. Import HttpResponse.
  2. Buat fungsi view.
    Pada contoh ini kita membuat view dengan nama siswa.
  3. Buat URL.
    URL untuk view siswa.
from django.http import HttpResponse

def siswa(request):
 return HttpResponse("Hello Me!")

urlpatterns = [
    ...
    ...
    path('siswa/', siswa, name='siswa')
]

Akses url: localhost:8000/siswa

2. URL, Templates, Tag

  1. Import view pada apps/app01.
  2. Buat URL di urls.py.
from apps.apps01.views import siswa

urlpatterns = [
    ...
    ...
    path('siswa/', siswa, name='siswa')
]

3. Buat view untuk siswa di apps/apps01/views.py.

from django.shortcuts import render, redirect

def siswa(request):
 word2 = "This is Django!"
 context = {
  'word1': "Hello World!",
  'word2': word2,
 }
 return render(request, 'siswa.html', context)

4. Buat direktori templates di apps/apps01/.
5, Buat file siswa.html di dalamnya.

<p>{{ word1 }}</p>
<p>{{ word2 }}</p>
<p>{{ word2 | upper }}</p>

3. Templates, Advance Views

  1. Buat page lagi.
  2. Import view pada apps/app01.
  3. Buat URL di urls.py.
from apps.apps01.views import siswa, list_siswa

urlpatterns = [
    ...
    ...
    path('siswa-list/', list_siswa, name='list_siswa'),
]

4. Buat view untuk list_siswa di apps/apps01/views.py.

def list_siswa(request):
   list_siswa = ['Joko','Dewi','Toni','Indah']
   
   context = {
    'list_siswa': list_siswa,
   }
   
   return render(request, 'list-siswa.html', context)

5. Buat direktori templates di apps/apps01/.
6. Buat file list-siswa.html di dalamnya.

{% for siswa in list_siswa %}
 <li>{{ siswa }}</li>
{% endfor %}

4. Templates Extending (extends)

  1. Buat file base.html di direktori templates utama.
<h2>Website Siswa</h2>

2. Letakkan extending template (base.html) pada file list-siswa.html.

{% extends 'base.html' %}

{% for siswa in list_siswa %}
 <li>{{ siswa }}</li>
{% endfor %}

5. Templates Extending (include)

1. Buat file header.html di direktori templates utama.

<h4>Header</h4>

2. Include kan header.html di base.html.

<h2>Website Siswa</h2>

{% include 'header.html' %}

3. Akses localhost:8000/siswa-list/.

6. Templates Extending (Block)

  1. Tambahkan block untuk konten pada base.html.
  2. Jadi base.html akan menjadi template dasar dari semua page.
...
...
{% block content %}
{% endblock content %}

3. Extends base.html di siswa.html.
4. Tambahkan block content di siswa.html.

{% extends 'base.html' %}

{% block content %}
<p>{{ word1 }}</p>
<p>{{ word2 }}</p>
<p>{{ word2 | upper }}</p>
{% endblock content %}

5. Akses localhost:8000/siswa/.


Lanjutkan Membaca Materi Lengkap


Leave a Reply

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

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