2015-11-25 79 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},

相关问题