UPDATE #2
Status: Still not solved
Updated: Thurs. Dec. 18, 11:30 a.m.
I'm currently using FullArticle.objects.order_by('?').first() to get a random article from my database, but it's not working. There is probably something missing from my models, view or url.py that's missing.
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" urls.py
from django.conf.urls import patterns, url from . import views urlpatterns = patterns( '', url(r'^$', views.BlogIndex.as_view(), name="list"), url(r'^(?P<slug>\S+)', views.BlogDetail.as_view(), name="detailed"), ) Section in list.html that I want to be random
<div class="mainContent clearfix"> <div class="wrapper"> <h1>Top 10 Video Games</h1> {% for article in object_list|slice:":1" %} <p class="date">{{article.pubDate|date:"l, F j, Y" }}</p> | <p class="author">{{article.author}}</p> <a href="{%url "detailed" slug=article.slug %}"><img src="{{article.heroImage}}" alt="" class="mediumImage"></a> <p class="caption">{{article.body|truncatewords:"80"}}</p> {% endfor %}
order_byto do with randomness?