Как добавить ссылку в строку f?

<
d += f'<li> {event.time} {event.teacher} {event.student} {event.status} </li>'
<
f'<li> <a href="{% url 'somewhere' event.pk %}"> {event.time} {event.teacher} {event.student} {event.status} </a> </li>'
<
SyntaxError: f-string: expecting '}'
<

Строка f не будет оценивать шаблонные теги Django, она просто видит это как фигурные скобки, но где содержимое оказывается несенситивным выражением.

Вы можете воспользоваться reverse(…) [Django-doc] для выполнения разрешения шаблонов URL:

from django.urls import reverse

f'<li> <a href="{ reverse("somewhere", args=(event.pk,)) }"> {event.time} {event.teacher} {event.student} {event.status} </a> </li>'

Вы можете использовать переменную для достижения того же результата :-

url_endpoint = reverse("somewhere", args=(event.pk,))

f'<li> <a href="{url_endpoint}"> {event.time} {event.teacher} {event.student} {event.status} </a> </li>'
Вернуться на верх