0
votes

I need help using the slug of tags as a link to all posts containing that tag. Using Django-taggit-templatetags2.

'function' object has no attribute 'filter'

tags.html

      <h2>Tags</h2>
      {% get_taglist as tags %}
      {% for tag in tags %}
      <h4><a href="{{tag}}">{{tag}} x{{tag.num_times}}</a></h4>
      {% endfor %}

urls.py

url(r'^blog/tags/(?P<slug>[a-z0-9]+)/$', views.TagDetailView.as_view(), name = 'tag'),

views.py

class TagDetailView(DetailView):
    template_name = 'home/tag.html'
    context_object_name = 'tag'

    def get_queryset(self):
        return Post.objects.all

Traceback:

File "/home/vinyasa/web_dev/practice/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner 39. response = get_response(request)

File "/home/vinyasa/web_dev/practice/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request)

File "/home/vinyasa/web_dev/practice/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/vinyasa/web_dev/practice/venv/lib/python3.5/site-packages/django/views/generic/base.py" in view 68. return self.dispatch(request, *args, **kwargs)

File "/home/vinyasa/web_dev/practice/venv/lib/python3.5/site-packages/django/views/generic/base.py" in dispatch 88. return handler(request, *args, **kwargs)

File "/home/vinyasa/web_dev/practice/venv/lib/python3.5/site-packages/django/views/generic/detail.py" in get 115. self.object = self.get_object()

File "/home/vinyasa/web_dev/practice/venv/lib/python3.5/site-packages/django/views/generic/detail.py" in get_object 43. queryset = queryset.filter(**{slug_field: slug})

Exception Type: AttributeError at /blog/tags/mods/ Exception Value: 'function' object has no attribute 'filter'

1

1 Answers

0
votes

You have forgotten a pair of parentheses in views.py:

class TagDetailView(DetailView):
    template_name = 'home/tag.html'
    context_object_name = 'tag'

    def get_queryset(self):
        return Post.objects.all()