
Issue :
Aku ingin request GET dari Django mendapatkan beberapa variabel yang didapatkan dari URL parameter. Contoh kasus, ada sebuah url : localhost:8000/makan/nasigoreng/3/ , dalam URL tersebut terdapat 3 parameter yang bisa kita parsing saat mendapatkan GET request.
Aku ingin request GET dari Django mendapatkan beberapa variabel yang didapatkan dari URL parameter. Contoh kasus, ada sebuah url : localhost:8000/makan/nasigoreng/3/ , dalam URL tersebut terdapat 3 parameter yang bisa kita parsing saat mendapatkan GET request.
Solution :
Dalam hal ini, pada dasarnya kita hanya akan merubah kode pada router ( pada file urls.py ) dan class views ( views.py pada application/modul ). Berikut contoh urls.py dengan tambahan 3 parameter.
from django.contrib import admin
from django.urls import path
from nama_app.views import get_parameters
urlpatterns = [path("admin/", admin.site.urls),
url(r"(?P<kegiatan>\D+)/(?P<objek>\D+)/(?P<jumlah>\d+)/", get_parameters)]
Kemudian kita tambahkan fungsi get_parameter pada kelas views (views.py)
from django.shortcuts import render
from django.http import HttpResponse
def get_parameters(request, kegiatan, objek, jumlah):
response = HttpResponse()
response.write("{} {} {}".format(kegiatan, objek, jumlah))
return response
Dan ketika server mendapat request dari localhost:8000/makan/nasigoreng/3/ maka akan mendapat kembalian dengan data yang sama dengan parameter yang dimasukan.