Я обновляю некоторый код из проекта Django 1.11 до Django 2.x, и в одном шаблоне (просмотр списка контактов с FK обратно к клиентам) я получаю «NoReverseMatch», так как он не видит значение слага впараметр URL.Если я жестко кодирую значение, оно работает, и та же самая переменная отображает правильное значение для каждой записи, если я просто отображаю текст на странице.
Я не понимаю, почему переменная удаляется, но, вероятно, что-то глупоесделано.
Это работает:
<td class="">
<a href="{% url "clients:view" slug='sony' %}">
{{ contact.client.slug }}
</a>
</td>
Получается ошибка NoReverse
<td class="">
<a href="{% url "clients:view" slug=contact.client.slug %}">
{{ contact.client.slug }}
</a>
</td>
В обоих случаях переменная {{contact.client.slug}} возвращаетправильные данные.
urls.py:
import ...
app_name = "clients"
urlpatterns = [
path("ajax/validate_client_code", validate_client_code, name="validate_client_code"),
path("", ClientListView.as_view(), name="list"),
path("new/", ClientCreateView.as_view(), name="new"),
path("edit/<slug:slug>/", ClientUpdateView.as_view(), name="edit"),
path("delete/<int:pk>/", ClientDeleteView.as_view(), name="delete"),
path("<slug:slug>/", ClientDetailView.as_view(), name="view"),
]
Кто-нибудь может указать на мою ошибку?Должно быть что-то действительно простое, но я просто не вижу этого.