2011-05-31 31 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}) 

請注意函數名稱後缺少逗號。