NoReverseMatch с переменной slug, работает с жестко закодированным значением - PullRequest
0 голосов
/ 10 марта 2019

Я обновляю некоторый код из проекта 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"),
]

Кто-нибудь может указать на мою ошибку?Должно быть что-то действительно простое, но я просто не вижу этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...