MalekBV
@MalekBV

Как сделать теги на Django?

Не знаю как сделать тэги на Django, постоянно выводит ошибки, как бы я внимательно не повторял за видео уроком / статьёй. Видимо использовались устаревшие методы, но в общем. У меня есть:

class Anime(models.Model):
# something code

class Tag(models.Model):
  name = models.CharField(max_length = 25)
  animes = models.ManyToManyField(Anime, related_name='tags')

  def __str__ (self):
    return self.name


Views.py

def anime_tag(request, tag_id):
  anime = Anime.objects.filter(tags__id=tag_id)
  return render (request, "index_tag.html", {'anime': anime})


urls.py

path("anime/<int:anime_id>/tag/<int:tag_id>", views.anime_tag, name='anime_tag')


шаблон

{% for a in anime %}
  Name: {{ a.title }}
  Text: {{ a.content }}
  Tags:
  {% for tag in a.tags %}
    <a href="{% url "anime_tag" tag.id %}">{{ tag.name }}</a>
  {% endfor %}
{% endfor %}
  • Вопрос задан
  • 472 просмотра
Решения вопроса 1
@szelga
судя по urls.py, оно вам на вход подаёт 2 целых числа: anime_id и tag_id, тогда как представление views.anime_tag принимает только tag_id. поправьте urls.py.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
saintbyte
@saintbyte
Django developer
Забей и используйте готовое
https://djangopackages.org/grids/g/tagging/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы