from datetime import date from django.shortcuts import render, get_object_or_404 from .models import Mineral def daily_stone(request): today = date.today() day = today.timetuple().tm_yday total = Mineral.objects.count() if total == 0: return render(request, 'dailystone/stone.html', {'mineral': None}) # Wrap around if we have fewer minerals than days in the year index = (day - 1) % total + 1 mineral = Mineral.objects.filter(day_of_year=index).first() # Fallback: pick by modulo of pk list if not mineral: minerals = list(Mineral.objects.all()) mineral = minerals[(day - 1) % len(minerals)] return render(request, 'dailystone/stone.html', { 'mineral': mineral, 'today': today, })