【问题标题】:Displaying single Item from Database in django在 django 中显示数据库中的单个项目
【发布时间】:2021-09-24 14:06:37
【问题描述】:

我想根据自己的选择显示单个项目。有没有办法可以显示单个项目? 现在我正在使用 for 循环显示所有项目。 这是我所有项目的代码。

模型.py

from django.db import models

# Create your models here.


class Task(models.Model):
title = models.CharField(max_length=200)
complete = models.BooleanField(default=False)
created = models.DateTimeField(auto_now_add=True)

def __str__(self):
    return self.title

views.py

from django.shortcuts import render, redirect
from django.http import HttpResponse
# Create your views here.
from .models import *
from .forms import *


def index2(request):
tasks = Task.objects.all()
context = {'tasks': tasks}
return render(request, 'task/index2.html', context)

Index2.html

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Home</title>
<link
  href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
  rel="stylesheet"
  integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
  crossorigin="anonymous"
  />
  <link rel="stylesheet" href="{%  static '/css/style2.css' %}" />
 </head>
 <body>

{% for task in tasks %}
{{task}}
{% endfor %}

 </body>
</html>

【问题讨论】:

  • 看看Task.objects.all()在做什么。
  • 它显示了我拥有的所有对象。我想单独显示产品,但不按名称显示。就像我们通过数组中的索引获取元素一样。
  • 我试图给你一个提示。不管怎样,我想你想要的是Task.objects.get()More info。假设对象 1 的 id=1。您可以通过其属性值获取对象。

标签: django sqlite django-models django-views django-templates


【解决方案1】:

如果显示单个项目是指根据项目的特定属性显示项目,则可以使用特定的查询集

tasks = Task.objects.get(title=title_name) //gets the task whose title is title_name

tasks = Task.objects.filter(complete=false) //gets all those which is yet to be finished

一些例子 -> https://www.programink.com/django-tutorial/django-queryset.html

【讨论】:

  • 假设我的数据库中有 4 个项目。我想单独显示所有项目。就像在数组中我们通过索引 [0] 获取元素。那么有什么方法可以使用索引或任何其他方法单独显示项目,但不能按名称显示谢谢
猜你喜欢
  • 2021-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-02
相关资源
最近更新 更多