Ich versuche meinen Blog mit Django 1.8 zu erstellen, aber ich weiß nicht, wie ich die Blogs bestellen kann. Siehe das Bild django 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.
danke, es funktioniert^^ –
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
@Sayse Nein, das SQL erzeugt hat keine 'ORDER BY-Klausel standardmäßig. Wo steht das in den Dokumenten? – Selcuk