Я полный новичок в Django и не могу сделать что-то базовое; ссылка на последний (или первый) элемент в базе данных.
Для начала - это модель, с которой я работаю:
class Artwork(models.Model):
date = models.DateField(auto_now_add=True)
art = models.ImageField(upload_to='artworks/%Y')
title = models.CharField(max_length=200)
description = models.TextField(null=True, blank=True)
herochoices = [('left', 'left'), ('middle', 'middle'), ('right', 'right')]
hero = models.CharField(choices=herochoices, max_length=6, null=True, blank=True, unique=True, error_messages={'unique':'Another artwork already uses this hero position.'})
slug = slugify(title, allow_unicode=False)
def __str__(self):
return self.title
def get_absolute_urls(self):
return reverse('artwork_list', kwargs={'slug': self.slug})
Я создал следующий набор запросов в моем представлении:
class ArtworkDetailView(DetailView):
model = Artwork
template_name = 'artwork_detail.html'
qs = Artwork.objects.all()
И теперь внутри моего шаблона я пытаюсь предоставить ссылку на последний элемент в наборе запросов. Однако я понятия не имею, чем заполнить атрибут href, чтобы предоставить такую ссылку:
{% extends 'base.html' %}
{% block content %}
<h1>{{ artwork.title|title}}</h1>
<div class="row">
<div class="col-sm-1 float-left">
<p class="arrows">
{% if artwork.get_previous_by_date.id == '' %}
<a href="{{ ????? }}">
{% else %}
<a href="/artwork/{{ artwork.get_previous_by_date.id }}/{{ artwork.get_previous_by_date.title }}/">
{% endif %}
<span class="material-icons" style="font-size: 30pt">keyboard_arrow_left</span>
</a>
</p>
</div>
Я проверил, что условие if работает нормально, поместив URL-адрес на https://www.google.com там, что отлично работает. Моя проблема на самом деле заключается в том, чтобы получить абсолютный URL-адрес последнего элемента в наборе запросов в моем шаблоне.
Спасибо,
Jon