2015-11-25 55 views
1

我收到以下錯誤:Django的錯誤:__init__takes至少2個參數1給出

typeError: __init__() takes at least 2 arguments 1 given` 

我有這些類:

class task(models.Model): 
    name=models.CharField('name', max_length=100) 
    text=models.TextField('task_text') 

    def __unicode__(self): 
     return self.name 

class person(models.Model): 
    name=models.CharField('name', max_length=50) 

    def __unicode__(self): 
     return self.name 

我想顯示使用render_to_response的任務如下:

def index(request): 
    tass = task.objects.all() 
    return render_to_response('index.html', 
           {'tass': task}, 
           context_instance=RequestContext(request)) 

但後來我得到typeError: __init__() takes at least 2 arguments 1 given

我該如何解決這個問題?

+5

你能發佈整個錯誤跟蹤嗎?這將有助於 – jvc26

+0

歡迎來到Stack Overflow!我編輯你的問題修復了一些拼寫錯誤(「最少」與「最後」不一樣),並將錯誤放在開頭。爲了便於閱讀,我還將代碼縮進了一些。祝你好運! – trincot

回答

-1

QueryDict對象必須是RequestContext的輸入。像這樣:

def index(request): 
    tass = task.objects.all() 
    return render_to_response('index.html', 
           context_instance=RequestContext(request, {'tass': task})) 
0

我想這個問題超出了你提供的代碼,因爲它應該工作。 唯一的錯誤是您應該更改爲{'tass': tass},

相關問題