2011-05-31 43 views
1

我已经经历了很多django教程,并且我终于准备好自己出头了。然而,我的第一个非教程程序正在抛出一个错误,而且我一直在敲我的头几天。我认为这是一个很小的问题,因为我是。简单的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”模型被限制只返回到该字段?其他教程中,我看着似乎只返回一个值(和只返回“自我”我得到一个非常类似的错误。

这也可能是因为我不是传递

任何帮助,将我推沿着正确的方向,将不胜感激。

格雷格

我model.py


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 %} 

回答

2
return render_to_response,('index.html', {"latest_list", latest_list}) 

删除该逗号affer render_to_response,你应该没问题。原因:逗号使返回值成为元组对象,但需要从视图返回HttpResponse对象。

1

你疯玩您return

def todo(request): 
    latest_list = Item.objects.all() 
    return render_to_response('index.html', {"latest_list", latest_list}) 

请注意函数名称后缺少逗号。