#django #django-models #django-templates #django-urls #django-errors
Вопрос:
Хей!
Я получаю сообщение об ошибке «Обратный для» nuts_detail «с аргументами» ( «,) » не найден. 1 шаблон(ы) попробовал: [‘обычный/гайка/(?P[0-9] )/$’]’
когда я свяжу свои detail_nuts.html вот так, но я могу перейти на страницу через URL-строку, так что представление, похоже, работает правильно.
И я могу получить значение plant.nuts_level_3, когда его нет в ссылке.
<!-- detail_plant.html -->
<p><b>Address: </b>
<b>NUTS (level 3): </b>
<a href="{% url 'common:nuts_detail' nuts.id %}">
{{plant.nuts_level_3}}
</a>
</p>
# common/urls.py
from django.urls import path
import common.views
app_name = "common"
urlpatterns = [
path("nut/<int:pk>/", common.views.NutsDetail.as_view(), name="nuts_detail")
]
# plants/models.py
class Plant(models.Model):
nuts_level_3 = models.ForeignKey(
NutsLevel3,
on_delete=models.PROTECT,
blank=True,
null=True,
related_name="nuts_level_3"
)
# common/models.py
class NutsLevel3(models.Model):
code = models.CharField(max_length=5, unique=True)
nuts_level_2 = models.ForeignKey(NutsLevel2, on_delete=models.CASCADE)
name_native = models.CharField(max_length=100, blank=True)
def __str__(self):
return f"{self.name_native}"
Я попытался вставить ссылку в
{% for nuts in plant.nuts_level_3.all %}
<a href="{% url 'common:nuts_detail' nuts.id %}">
{{nuts.name_native}}
</a>
{% endfor %}
Затем сообщение об ошибке исчезает, и шаблон отображается, но Nuts вообще не задается, он просто остается пустым полем.
У кого-нибудь есть идея? Любая помощь будет признательна! 🙂