简体   繁体   English

从Django视图返回响应时发生TypeError

[英]TypeError while returning Response from django view

I've been trying to create a view for the url pattern 我一直在尝试为url模式创建视图

Urls.py Urls.py

url(r'^task/', include('app.urls')),

Urls.py inside app.urls app.urls中的app.urls

url(r'^(?P<task_id>[0-9]+)/$', views.task, name='task'),

Which can be accessed by /task/:task_id . 可以通过/task/:task_id访问。 My corresponding view for task is 我对task相应看法是

 def task(request, task_id): obj = Task.objects.get(pk=task_id) return HttpRequest("You're looking at a %s Task." % obj.type) 

The corresponding model for Task is this. Task的相应模型是这个。

 class Task(models.Model): image = models.ImageField(upload_to='tasks') description = models.CharField(max_length=500) language = models.CharField(max_length=7, default='en', choices=LANGUAGES) type = models.CharField(max_length=20, default='Transliteration', choices=TASK_TYPES) date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.language + ' ' + self.description 

I am successfully able to debug the task_id and obj values which exist but my webpage returns the following error. 我可以成功调试存在的task_idobj值,但是我的网页返回以下错误。

 TypeError at /task/1/ __init__() takes exactly 1 argument (2 given) 

How can such an error be fixed? 如何解决这种错误?

Return HttpResponse instead of HttpRequest 返回HttpResponse而不是HttpRequest

def task(request, task_id):
    obj = Task.objects.get(pk=task_id)
    return HttpResponse("You're looking at a %s Task." % obj.type)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM