相关疑难解决方法(0)

从django视图调用REST API

有没有办法从django视图进行RESTful api调用?

我试图从django视图传递URL和参数.我在半小时内谷歌搜索,但找不到任何有趣的东西.

任何帮助,将不胜感激

python django rest

6
推荐指数
1
解决办法
1万
查看次数

使用Django发出HTTP请求并反序列化输出

所以我对整个Web开发几乎全新,但是已经被投入到使用Django从Web服务中提取和解析数据的侧面项目中,并且正在努力理解事情是如何工作的,即使在查看Django时也是如此.文档.

在Django中,我已经完成了所有设置并在基本级别工作(使用模板,显示的页面显示"Hello World").

现在,为了从webservice中提取数据,我需要向以下格式的URL发出请求:

http://wbsapi.withings.net/[service_name]?action=[action_name]&[parameters]
Run Code Online (Sandbox Code Playgroud)

在提供的PHP示例中,他们使用cURL,然后使用json_decode执行此操作.

我如何才能从Django中获得类似的功能?提前致谢!

django http request

6
推荐指数
1
解决办法
1万
查看次数

如何在Middleware中更新Django HttpRequest主体

我有一个PUT请求,我想更新我的中间件中的一些参数的值.我知道没有办法直接访问PUT参数,所以我通过它访问它们request.body.

一旦更新了这些值,我需要将其传递request给视图.但是,如果我尝试这样做:

request.body = new_content
Run Code Online (Sandbox Code Playgroud)

在我的中间件中,我得到:

AttributeError: can't set attribute
Run Code Online (Sandbox Code Playgroud)

有没有办法更新中间件中的这些参数并传递它们?

python django middleware httprequest

6
推荐指数
1
解决办法
3200
查看次数

Django rest 框架以编程方式调用视图集,从另一个视图传递身份验证标头

我正在尝试调用使用 Django Rest Framework 制作的 api drf。我的情况是我想从另一个视图调用 api 获取响应并在模板中显示数据。我已经提到了这个 SO post,但由于我的视图集需要身份验证,因此无法成功调用。如果使用 url(默认方式)调用,则 Viewset 可以完美运行。视图集如下

class ViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows Objects to be viewed or edited.
    """
    permission_classes = (permissions.IsAuthenticated,)
    queryset = Myclass.objects.all()
    serializer_class = MyclassSerializer
    ....
    ....
    return response(json)
Run Code Online (Sandbox Code Playgroud)

从另一个视图调用这个 api 时,我得到的响应是401 page来自 drf api。

 ipdb>view = Myview.as_view({'get':'list'}
 ipdb>obj=view(request, *args, **kwargs)
 ipdb> obj.data
 {u'detail': u'Authentication credentials were not provided.'}
 ipdb>obj.has_header('Authentication')
 False 
Run Code Online (Sandbox Code Playgroud)

我也尝试传递身份验证标头,但我不知道它是否正确。

  view = MyViewSet.as_view({'get':'list'},{'token':'token'})
Run Code Online (Sandbox Code Playgroud)

这返回了一个错误参数令牌不被接受。我试过

view = MyViewSet.as_view({'get':'list'},Authentication={'token':'token'})
Run Code Online (Sandbox Code Playgroud)

但这也给我带来了错误。如何通过传递 auth 参数从另一个视图调用 api …

authentication django view django-rest-framework

5
推荐指数
0
解决办法
3305
查看次数