Как получить и опубликовать последние данные и данные списка в django
Я сейчас работаю над django, нужна помощь, как достичь моей цели
Мне нужно опубликовать последние данные и список данных в веб-приложении .
Ниже приведен набор шагов, которые я выполнил
Создали Model.py
импорт datetime из statistics import mode from django.db import models
Создавайте свои модели здесь.
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
Спасибо, Сид
Просто добавьте упорядочивание по id в порядке убывания:
class documentlist(ListView):
template_name='app/document_list.html'
model=documents
context_object_name='document'
ordering = ['-id']
Ну, вы можете получить данные о последних публикациях в виде списка следующим образом:
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 %}
Я разобрался в проблеме и это помогло мне решить проблему.
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['latest_post'] = documents.objects.latest('update_date')
return context
Спасибо, SIdh