Django как добавить следующую кнопку для связанной записи в блоге?
У меня есть страница списка блогов, где я перечислил все свои блоги. Теперь я хочу реализовать кнопку next на странице подробностей блога для перехода к следующему элементу, если у любого объекта блога есть дочерний объект. Предположим, у меня есть 10 записей в блоге, где 5 записей относятся к "python tutorial", поэтому на странице подробностей блога я хочу добавить кнопку next для этих пяти записей. Если у какой-либо записи в блоге нет ни одного связанного блога, то кнопки "Далее" не будет. Как это сделать?
вот моя модель:
Class Blog(models.Model):
blog_title = models.CharField(max_length=300, unique=True)
views.py
def BlogDetail(request, slug=None):
template_name = 'blog/blog_details.html'
blog = None
if slug is not None:
blog = get_object_or_404(Blog, slug=slug)
else:
blog = None
....others code
Что вы можете сделать:
в views.py:
def BlogDetail(request, slug=None):
template_name = 'blog/blog_details.html'
blog = None
if slug is not None:
blog = get_object_or_404(Blog, slug=slug)
else:
blog = None
related_objects = Blog.objects.filter(#your query to get related title)
#while returning at it to your dictionary to pass this related object
#if you had a dictionary add a new key 'related_posts'
return render(request, 'your_template.html', {'data': data, 'related_posts':related_objects}
Обратите внимание: что "данные" в коде выше - это существующие данные, которые вы возвращали
в вашем HTML-шаблоне:
#your existing template as follow and you can add
{% for posts in related_posts %}
<a href={% url 'YOUR URL FOR BlogDetail function' posts.id %}>NEXT POST {{forloop.counter}} </a>
{% endfor %}