Динамические URL с несколькими слоями
Я делаю сайт с использованием Django, где я делаю динамические URL. Однако я довольно новичок в программировании и не смог найти, как сделать динамические URL с более чем одним параметром.
Я делаю сайт под названием "kartotek", который определяется пользователем с помощью переменной "kl_id", и поэтому имеет динамический URL со следующим путем:
path('kartotek/<str:kl_id>/', views.kartotek, name="kartotek"),
На этой странице есть кнопка, с помощью которой вы выбираете пациента и попадаете на другой URL под названием "reg" со следующим путем:
path('reg/<str:kl_id>/<str:pt_id>/', views.reg, name="reg"),
У меня есть следующий код в файле views.py:
def kartotek(request, kl_id):
kliniknavn = Klinik.objects.get(navn=kl_id)
E_patient = kliniknavn.patient_set.all()
context = { 'kliniknavn':kliniknavn, 'E_patient':E_patient}
return render(request,'DentHelp/kartotek.html', context )
def reg(request ,kl_id , pt_id):
kliniknavn = Klinik.objects.get(navn=kl_id)
ptid = Patient.objects.get(id_nr=pt_id)
context = {'ptid':ptid, 'kliniknavn':kliniknavn}
return render(request,'DentHelp/reg.html', context)
Я думаю, что проблема в коде шаблона, который я немного запутался, как сделать, я пробовал следующее:
{% for patient in E_patient %}
<a href="{% url 'reg' klinik.navn, patient.id_nr %}" class="btn btn-primary">Vælg patient</a>
{% endfor %}
У кого-нибудь есть совет?
Пробовали ли вы явно присвоить значения соответствующим именам атрибутов, например, так:
href="{% url 'reg' kl_id=klinik.navn, pt_id=patient.id_nr %}