2016-03-20 11 views
1

Ich versuche meinen Blog mit Django 1.8 zu erstellen, aber ich weiß nicht, wie ich die Blogs bestellen kann. Siehe das Bild enter image description heredjango templates help, kopfüber

Ich möchte die 'früheste' an der Unterseite und die 'neueste' an der Spitze anzeigen. Hier ist meine

index.html

{% extends 'layouts/base.html' %} 
{% block title %} 
Homepage - {{ block.super }} 
{% endblock title %} 
{% block content %} 
<center> 
{% for blog in blogs %} 
<h2><a href="{% url 'blog_detail' slug=blog.slug %}"> 
{{ blog.name }} 
</a></h2> 
<p>{{ blog.description }}</p> 
{% endfor %} 
</center> 
{% endblock content %} 

models.py

# -*- coding: utf-8 -*- 
from django.db import models 
from django.utils import timezone 


class blog(models.Model): 
    name = models.CharField(max_length=255) 
    description = models.TextField() 
    slug = models.SlugField(unique=True) 
    date_time = models.DateTimeField(auto_now_add = True) 

    def __unicode__(self): 
     return self.name 



def get_image_path(instance, filename): 
    return '/'.join(['blog_images', instance.bupimg.slug, filename]) 

class Upload(models.Model): 
    bupimg = models.ForeignKey(blog, related_name="uploads") 
    image = models.ImageField(upload_to=get_image_path) 

views.py

from django.shortcuts import render 
from blogging.models import * 


def index(request): 
    blogs = blog.objects.all() 
    return render(request, 'index.html', { 
     'blogs':blogs, 
    }) 

def blog_detail(request, slug): 
    article = blog.objects.get(slug=slug) 
    uploads = article.uploads.all() 
    return render(request, 'blogs/blog_detail.html', { 
     'article': article, 
     'uploads': uploads, 
    }) 

Wie kann ich die b bewegen Log-Titel "früheste" nach unten, "neueste" auf der Oberseite? Ich brauche die neuesten Blog-Shows oben.

Antwort

5

Sie sortieren die Blogs nicht, sie kommen in zufälliger Reihenfolge. Versuchen Sie, die Leitungsänderungs

blogs = blog.objects.all() 

zu

blogs = blog.objects.order_by('-date_time') 

Der Minus (-) bezeichnet absteigend sortieren, dh. von den letzten bis zu den ältesten.

+0

danke, es funktioniert^^ –

+0

Ich dachte, es wurde standardmäßig von der ID bestellt, wenn keine Meta.Ordering definiert wurde? Ich habe möglicherweise die Dokumente für [Orderby] (https://docs.djangoproject.com/en/1.9/ref/models/querysets/#order-by) missverstanden. – Sayse

+0

@Sayse Nein, das SQL erzeugt hat keine 'ORDER BY-Klausel standardmäßig. Wo steht das in den Dokumenten? – Selcuk