我对django很陌生。我正在尝试创建一个简单的任务管理应用程序,并在model.py中创建了一个类Taskdb。我所面临的问题是,我得到的输出像task object(1)一样,是我在task字段中输入的实际值。请查看我下面的文件(model.py和view.py),并告诉我哪里出了问题
Models.py
from django.db import models
from django.utils import timezone
class Taskdb(models.Model):
task = models.CharField(max_length = 30)
priority = models.CharField(max_length = 30)
completed = models.BooleanField(default=False)
time_date = models.DateTimeField(default=timezone.now)
def __str__(self):
return "%s %s"%(self.task, self.completed)
Views.py
from django.shortcuts import render, redirect
from .forms import UserRegisterForm
from .models import Taskdb
def home(request):
return render(request, 'index.html')
def task(request):
all_items = Taskdb.objects.all()
return render(request, 'task.html', {'all_items': all_items})
task.html
{% extends 'base.html' %} {% block body %}
<h2>My Task</h2>
<h4>Welcome {{ user.username }}!</h4>
<h3>Your task list.</h3>
{% for task in all_items %}
<p>{{ task }}</p>
{% endfor %} {% endblock %}
输出:
在django模型的类中,您有以下内容,这是正确的:
这将在Django admin中返回您想要的任何内容(在上面的例子中,它将返回该行的任务和已完成列中的任何内容)
但是,在上面的代码中,
__str__
缩进不够,因此它不是该模型类的一部分。确保正确缩进。所以,它应该是这样的:您还可以将其他属性放入模型的元类中,以更改它们在Djang admin中的显示方式
有关详细信息:https://www.geeksforgeeks.org/customize-django-admin-interface/
相关问题 更多 >
编程相关推荐