Andrew Nguyen
Andrew Nguyen

Reputation: 1436

For loop counter in Django, numbers not showing up

I'm looking to have a counter of numbers from one to ten using a for loop counter in Django, but I don't see any numbers. I don't really understand what I need to put in {{counter}} and {{value}} when looking at the documentation.

List.html

<p class="number">
    {% for key, value in data.items %}
        {{counter}}: {{value}}
    {% endfor %}
<p> 

models.py

from django.db import models
from django.core.urlresolvers import reverse

# Create your models here.
class FullArticleQuerySet(models.QuerySet):
    def published(self):
        return self.filter(publish=True)

class FullArticle(models.Model):
    title = models.CharField(max_length=150)
    author = models.CharField(max_length=150)
    slug = models.SlugField(max_length=200, unique=True)
    pubDate = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    category = models.CharField(max_length=150)
    heroImage = models.CharField(max_length=250, blank=True)
    relatedImage =  models.CharField(max_length=250, blank=True)
    body =  models.TextField()
    publish = models.BooleanField(default=True)
    gameRank = models.CharField(max_length=150, blank=True, null=True)

    objects = FullArticleQuerySet.as_manager()

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("FullArticle_detailed", kwargs={"slug": self.slug})

    class Meta:
        verbose_name = "Blog entry"
        verbose_name_plural = "Blog Entries"
        ordering = ["-pubDate"]

views.py

from django.views import generic
from . import models 
from .models import FullArticle

# Create your views here.
class BlogIndex(generic.ListView):
    queryset = models.FullArticle.objects.published()
    template_name = "list.html" 
    randomArticle = FullArticle.objects.order_by('?').first()

class BlogDetail(generic.DetailView):
    model = models.FullArticle
    template_name = "detailed.html"

Upvotes: 0

Views: 111

Answers (1)

C.B.
C.B.

Reputation: 8336

use {{ forloop.counter }} instead of just {{ counter }}

Also, you are never defining the dictionary data anywhere. What is this supposed to be? Your queryset?

Upvotes: 2

Related Questions