Dans mon index.html, j'essaie de saisir les 10 derniers problèmes (bande dessinée) en triant la date ajoutée et en affichant l'image de couverture de ces problèmes via une table comme ceci: http://www.comicbookresources.com/previewsAffichage d'images à l'aide de Item.objects.all dans Django Template
Models.py:
class Image(models.Model):
CATEGORY_CHOICES = (
('Cover', 'Cover'),
('Scan', 'Scan'),
('Other', 'Other'),
)
title = models.CharField(max_length=256)
image = models.ImageField(upload_to="images/")
category = models.CharField(max_length=10, choices=CATEGORY_CHOICES)
contributor = models.ManyToManyField(Contributor, blank=True, null=True)
date_added = models.DateField(auto_now_add=True)
def __unicode__(self):
return self.title
class Meta:
ordering = ['title']
class Issue(models.Model):
title = models.ForeignKey(Title)
number = models.IntegerField(help_text="Do not include the '#'.")
....
date_added = models.DateTimeField(auto_now_add=True)
images = models.ManyToManyField(Image, related_name="images_inc", blank=True, null=True)
....
def __unicode__(self):
return u'%s #%s' % (self.title, self.number)
def get_absolute_url(self):
return "/issues/%s" % self.slug
class Meta:
ordering = ['-date_added']
Views.py
def index(request):
....
all_characters = Character.objects.all().filter(is_featured=True).order_by('name')
latest_issues = Issue.objects.order_by('-date_added')[:10]
....
t = loader.get_template('comics/index.html')
c = Context({
'all_characters': all_characters,
'latest_issues': latest_issues,
})
return HttpResponse(t.render(c))
maintenant, voici comment mon fichier index.html est configuré:
{% for issue in latest_issues %}
<li class="gallery">
<a href="{{ issue.get_absolute_url }}">
<img alt="{{ issue.title }} #{{ issue.number }}" title="{{ issue.title }} #{{ issue.number }}" src="{{ issue.images }}"></a>
<em>{{ issue.title }} #{{ issue.number }}</em>
</li>
{% endfor %}
{{ issue.images }}
affiche une de ces choses ManyToManyDBManagex34982423 et {{ issue.images.all }}
affiche quelque chose comme "Image: Astonishing X-Men 1 Couverture A", tandis que {{ issue.images.url }
} affiche rien.
Je l'ai besoin pour afficher l'image de couverture et plus, en particulier, j'ai besoin d'afficher une image qui est classée comme 'Cover', parce que parfois il y a des couvertures de variantes, et je ne voudrais pas en afficher deux couvertures d'un numéro. Je suis sûr que je devrais corriger mon views.py, mais comment j'irais faire ceci et comment l'afficherais-je dans mon modèle?
Parlez bébé. Je suis nouveau à cela. Merci!
C'est déjà défini dans mes vues. Je vais l'éditer. – AAA