如何在django中获取和发布最新数据并列出数据

lx0bsm1f  于 2023-01-31  发布在  Go
关注(0)|答案(4)|浏览(282)


I目前正在工作的django,需要一些帮助如何实现我的以下目标
我需要发布最新的数据和列表数据在一个网络应用程序。
下面是我遵循的一组步骤
创建了Model.py
从统计导入日期时间从django.db导入模型导入模式

在此创建您的模型。

class documents(models.Model):
    author= models.CharField(max_length=30)
    title=models.CharField(max_length=50)
    description=models.TextField()
    creation_date=models.DateTimeField()
    update_date=models.DateTimeField()

View.py

from django.shortcuts import render

from django.views.generic.list import ListView
from .models import documents

    # Create your views here.
    
    
    
    
    class documentlist(ListView):
        template_name='app/document_list.html'
        model=documents
        context_object_name='document'

HTML代码段

{% extends 'base.html' %}

{% block title %} MY HOMEPAGE {% endblock  %}

{% block css %}

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" 
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

{% endblock  %}

{% block content %}

<nav class=" navbar navbar-dark bg-primary">
    <a class="navbar-brand mb-0 h1" href="#">MEDICARE</a>
  </nav>

{% for d in document  %}

 <td>{{d.title}}</td>

{% endfor %}

{% endblock %}

如何在django中同时渲染模型类中的最新数据和数据列表?我很清楚如何使用listview渲染列表数据。有人能帮助我理解如何将列表中的最新数据显示到listview.html中吗
谢了,希德

nzkunb0c

nzkunb0c1#

我已经弄清楚了这个问题,这帮助我解决了这个问题。

def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['latest_post'] = documents.objects.latest('update_date')
        return context

谢了,希德

brgchamk

brgchamk2#

你可以像这样在列表视图中获取最近发布的数据:

class documentlist(ListView):
        template_name='app/document_list.html'
        model=documents
        context_object_name='document'
        
        def get_queryset(self):
            return documents.objects.filter(author=request.user).order_by('creation_date')

在你的html模板中你可以做类似这样的事情来呈现最新的帖子

% extends 'base.html' %}

{% block title %} MY HOMEPAGE {% endblock  %}

{% block css %}

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" 
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

{% endblock  %}

{% block content %}

<nav class=" navbar navbar-dark bg-primary">
    <a class="navbar-brand mb-0 h1" href="#">MEDICARE</a>
  </nav>

{% for doc in document  %}

 <td>{{doc.title}}</td>

{% endfor %}

{% endblock %}
cidc1ykv

cidc1ykv3#

只需按ID降序添加排序:

class documentlist(ListView):
        template_name='app/document_list.html'
        model=documents
        context_object_name='document'

        ordering = ['-id']
ijnw1ujt

ijnw1ujt4#

我知道这个帖子已经够老了,但还没有关闭,它可能对其他人有用。
但我需要显示最新的数据作为最新的职位和显示作为一个fetured之一,我已经附上截图根据我的要求面对这个方程这是我怎么做的:My view:
And this is my template

相关问题