【问题标题】:How to send a request to another server in a django view?如何在 django 视图中向另一台服务器发送请求?
【发布时间】:2016-07-19 09:42:22
【问题描述】:

我想向我的django view 中的另一台服务器发送http 请求,如下所示:

def django_view(request):
    response = send_request('http://example.com')
    result = do_something_with_response(response)
    return HttpResponse(result)

我该怎么做?

【问题讨论】:

  • 您可能正在寻找错误的东西。 “ajax”中的“j”代表 JavaScript,如果你想在 Python 中发出异步请求来修改你的视图,你必须实现某种 web 套接字来在请求完成时更新浏览器。对于这样的事情,您可能只需要在 JS 中将其编写为 jQuery ajax 请求或其他东西
  • @pdom:是的,我实际上需要一个 HttpRequest。谢谢。

标签: python django django-views httprequest


【解决方案1】:

您可以使用python requests 库来发送请求并获得响应。但是您需要根据需要格式化响应。

这是GET请求的示例:

import requests

def django_view(request):
    # get the response from the URL
    response = requests.get('http://example.com')
    result = do_something_with_response(response)
    return HttpResponse(result)

唯一需要注意的是,如果您在此处执行此操作,它将不再是 ajax(异步 JavaScript 和 XML)。另一种方法是您从 django 视图中正常加载网页,然后在 javascript 中执行所有 AJAX 请求 - 进一步处理响应并将其呈现在页面中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多