问题描述
|
我已经看了很多django教程,而我终于准备好自己动身了。但是,我的第一个非教程程序抛出了一个错误,而且我已经花了几天的心力。我希望这是一个非常菜鸟的问题,因为嗯。
当我使用此视图时
def todo(request):
latest_list = Item.objects.all()
return HttpResponse(latest_list)
我懂了
conquer djangocan I do this?learn thislearn this
这是填充数据库的四个项目。由于它们是串联在一起的,因此不太方便,并且似乎没有移交给模板。
当我更改view.py以尝试使用模板进行交谈时
def todo(request):
latest_list = Item.objects.all()
return render_to_response,(\'index.html\',{\"latest_list\",latest_list})
我懂了
\'tuple\' object has no attribute \'status_code\'
返回\'self.task \'的模型是否只能将返回限制为该字段?我看过的其他教程似乎只返回一个值(而仅返回\'self \'会给我一个非常相似的错误。
也可能是我没有传递
我们将不胜感激任何能帮助我走上正确道路的帮助。
格雷格
我的模型
from django.db import models
class Item(models.Model):
task = models.CharField(max_length=60)
taskNotes = models.CharField(max_length=600)
created = models.DateTimeField(auto_Now_add=True)
done = models.BooleanField(default=False)
def __unicode__(self):
return self.task
我的views.py
from django.shortcuts import render_to_response,get_object_or_404
from django.template import RequestContext
from django.http import HttpResponse
from myTodo.todo.models import Item
def todo(request):
latest_list = Item.objects.all()
return HttpResponse(latest_list)
我的index.html(模板)
{% if latest_list %}
<ul>
{% for task in latest_list %}
<li>{{ Item.task }}</li>
{% endfor %}
</ul>
{% else %}
<p>Looks like you\'re all done</p>
{% endif %}
解决方法
return render_to_response,(\'index.html\',{\"latest_list\",latest_list})
删除该逗号后render_to_response,您就可以了。原因:逗号使返回值成为元组对象,但需要从视图返回HttpResponse对象。
, 你go了8英镑。
def todo(request):
latest_list = Item.objects.all()
return render_to_response(\'index.html\',latest_list})
请注意,函数名称后没有逗号。