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)
如何将博客标题"最早"移到最低端,"最新"在顶部?我需要让最新的博客显示在顶部.
你没有对博客进行排序,它们是按随机顺序排列的.尝试更改线路
blogs = blog.objects.all()
Run Code Online (Sandbox Code Playgroud)
至
blogs = blog.objects.order_by('-date_time')
Run Code Online (Sandbox Code Playgroud)
减号(-)表示降序排序,即.从最新到最古老.