from django.shortcuts import render
from django.shortcuts import get_object_or_404
from . models import *
class ObjectDetailMixin:
model = None
template = None
def get(self, request, slug):
obj = Tag.objects.get(slug__iexact=slug)
return render(request, self.template, context={self.model.__name__.lower(): obj})
slug
, и которые работают с разными моделями, но из-за миксина метод get
у них один. Либо вообще не используйте миксин, так как в вашем случае от него нет никакого толку, либо сделайте его обобщённым, чтобы он использовал модель того CBV, в который подмешан. {% for post in MODEL %}
<div class="card mb-2">
<div class="card-header">
{{ post.date_pub }}
</div>
<div class="card-body">
<h5 class="card-title">{{ post.title }}</h5>
<p class="card-text">{{ post.bodu|truncatewords:20 }}</p>
<a href="{{ post.get_absolute_url }}" class="btn btn-light">Read</a>
</div>
<div class="card-header">
Tags:
{% for tag in post.tags.all %}
<a href="{{ tag.get_absolute_url }}" class="badge badge-secondary">{{ tag.title|title }}</a>
{% endfor %}
</div>
</div>
{% endfor %}