Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django视图函数中调用活塞处理程序_Python_Django_Django Views_Django Urls_Django Piston - Fatal编程技术网

Python 在django视图函数中调用活塞处理程序

Python 在django视图函数中调用活塞处理程序,python,django,django-views,django-urls,django-piston,Python,Django,Django Views,Django Urls,Django Piston,我正在使用django活塞来实现我的RESTful API。我已经实现了一个api,它是 /api/[uuid of user] 将给出与用户uuid相关的所有信息 但是,我还想实现另一个api /api/user/username 其中输出应与前一个完全相同 我不想维护两个输入不同但输入相同的api。因此,我要做的是重定向活塞api调用。在网上搜索之后,活塞似乎做不到(如果我错了,请纠正我),所以我走出了一个解决办法。对于第二个api,我可以使用django的view函数来实现,如果用户名

我正在使用django活塞来实现我的RESTful API。我已经实现了一个api,它是

/api/[uuid of user]
将给出与用户uuid相关的所有信息

但是,我还想实现另一个api

/api/user/username
其中输出应与前一个完全相同

我不想维护两个输入不同但输入相同的api。因此,我要做的是重定向活塞api调用。在网上搜索之后,活塞似乎做不到(如果我错了,请纠正我),所以我走出了一个解决办法。对于第二个api,我可以使用django的view函数来实现,如果用户名确实存在,则返回处理程序。如果不存在,则在view函数中返回错误消息。我的代码如下

def username_url_map(request, username):
   try
        user = UserProfile.objects.get(user = username)
    except UserProfile.DoesNotExist:
        return HttpResponse(simplejson.dumps({'error':'This user does not exist.' }), mimetype='application/json')
    except UserProfile.MultipleObjectsReturned:
        return HttpResponse(simplejson.dumps({'error':'This user does not exist.'}), mimetype='application/json')
    uuid = user.uuid

    results=GenericHandler.read(request, uuid)

    json = simplejson.dumps(results)
    return HttpResponse(json, mimetype='application/json')
但我收到以下错误消息:

TypeError
Exception Value: unbound method wrapper() must be called with GenericHandler instance as first argument (got WSGIRequest instance instead)

错误消息告诉您
GenericHander
read
方法是实例方法,而不是类方法。在调用该方法之前,需要实例化该对象

在不了解任何关于类或方法的更多信息的情况下,这可能会起作用:

但是实例化调用可能需要一些参数,这些参数应该记录在案

handler = GenericHandler()
results = handler.read(request, uuid)