django - django模板首先显示最新数据
问题描述
我必须首先在上面显示最新的数据日期,在我的原始代码中,它只在上面显示最旧的数据日期,并在下面列出更新
django 2.2
模型.py
from django.conf import settings
from django.contrib.auth import get_user_model
from django.db import models
from django.urls import reverse
class Article(models.Model):
title = models.CharField(max_length=255)
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(
get_user_model(),
on_delete=models.CASCADE,
)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('article_detail', args=[str(self.id)])
我认为在views.py中可能是我必须做的
模型 = 文章 --> order_by('-date')
类似的东西?我能怎么做 ?
视图.py
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from django.views.generic import ListView, DetailView
from django.views.generic.edit import UpdateView, DeleteView, CreateView
from django.urls import reverse_lazy
from .models import Article
class ArticleListView(LoginRequiredMixin, ListView):
model = Article
template_name = 'article_list.html'
login_url = 'login'
在表格中,它将列出最旧的数据日期在上行和新的数据在下行,我想做的是上行的最新数据和下行的旧数据
article_list.html
{% extends 'base.html' %}
{% block title %}Articles{% endblock title %}
{% block content %}
{% for article in object_list %}
<div class="card">
<div class="card-header">
<span class="font-weight-bold">{{ article.title }}</span> ·
<span class="text-muted">by {{ article.author }} | {{ article.date }}</span>
</div>
<div class="card-body">
{{ article.body }}
</div>
<div class="card-footer text-center text-muted">
<a href="{% url 'article_edit' article.pk %}">Edit</a> |
<a href="{% url 'article_delete' article.pk %}">Delete</a>
</div>
</div>
<br />
{% endfor %}
{% endblock content %}
谢谢你的评论
解决方案
您可以通过设置模型来做到这ordering
一点Meta
:
要以相反的顺序显示,请在字段名称前加上减号。 -
class Article(models.Model):
title = models.CharField(max_length=255)
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(
get_user_model(),
on_delete=models.CASCADE,
)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('article_detail', args=[str(self.id)])
class Meta:
ordering = ['-date']
推荐阅读
- bash - 最后执行系统 Bash Shell 初始化脚本
- regex - 正则表达式在 from、left join 和 inner join 子句中获取模式和表名称
- c# - 用 WIA 扫描。设置属性和抽屉 ADF
- prometheus - 了解 Grafana 指标变量
- openldap - Cisco ASA DAP 规则和 LDAP.memberOf 属性无法识别
- reactjs - 如何从本地存储中获取项目?
- css - 行悬停时弹性列上的空白
- autohotkey - Autohotkey 脚本适用于除“这台电脑”以外的所有文件夹
- swiftui - SwiftUI,并非我的所有文本行都会呈现
- reactjs - 图像未从 React 中的 Props 渲染