django模板帮助,颠倒

Joe*_*Lin 1 html python django

我正在尝试使用Django 1.8构建我的博客但是我不知道如何订购博客.看图像在此输入图像描述

我想在底部显示'最早',在顶部显示'最新'.这是我的

的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 %}
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

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,
    })
Run Code Online (Sandbox Code Playgroud)

如何将博客标题"最早"移到最低端,"最新"在顶部?我需要让最新的博客显示在顶部.

Sel*_*cuk 5

你没有对博客进行排序,它们是按随机顺序排列的.尝试更改线路

blogs = blog.objects.all()
Run Code Online (Sandbox Code Playgroud)

blogs = blog.objects.order_by('-date_time')
Run Code Online (Sandbox Code Playgroud)

减号(-)表示降序排序,即.从最新到最古老.

  • @Sayse空数据库通常按照它们"INSERT"的顺序存储数据; 这就是为什么默认顺序通常是按时间顺序排列的,但并非必须如此. (2认同)