Возникают проблемы с использованием get_absolute_url () с аргументами для работы в моем шаблоне (возможно, я делаю это неправильно на стороне шаблона)
Я получаю сообщение об ошибке person_id is not defined
У меня есть простая модель, которая выглядит следующим образом:
class Course(models.Model):
year = models.ForeignKey(Year, on_delete=models.PROTECT)
name = models.CharField(max_length=50)
short_name = models.CharField(max_length=50)
created = models.DateTimeField(auto_now=False, auto_now_add=True)
last_updated = models.DateTimeField(auto_now=True, auto_now_add=False)
Она имеет get_absolute_url
, которая выглядит следующим образом:
def get_absolute_url(self):
"""Return absolute url for Course."""
return reverse(
"view_course", args=[
person_id,
location_id,
str(self.id)
]
)
, и у меня есть мой URL, который выглядит как это:
path(
"<person_id>/locations/<location_id>/course/<pk>/",
views.CourseDetailView.as_view(),
name="view_course",
),
В моем шаблоне я пробовал несколько разных способов, чтобы отобразить это, в настоящее время это выглядит так:
{% for section in sections %}
<a id="course{{section.course.id}}" href="{{person.id}}/locations/{{location.id}}/course/{{ section.course.get_absolute_url }}" class="card-link location-course-link">{{ location.person }}</a>{{section.course.short_name}}
{% endfor %}
Я также пробовал: href="{{ section.course.get_absolute_url }}"
Также пробовал: href="{{ section.course.get_absolute_url person.id location.id }}"
Хотя все данные верны (URL-адрес выходит на 1/locations/3/course/5/
, как и ожидалось в шаблоне - он по-прежнему выдает эту ошибку при нажатии).