如何使用Django框架将python脚本响应作为Http响应返回

时间:2018-01-21 21:25:22

标签: python django api httpresponse amazon-product-api

我正在使用Python Django框架,它是新的。

我得到"无"在浏览器中,不确定我的代码有什么问题。

from django.http import HttpResponse

def index(request):
 from amazon.api import AmazonAPI
 AMAZON_ACCESS_KEY = "cant share my key"
 AMAZON_SECRET_KEY = "cant share my key"
 AMAZON_ASSOC_TAG = "cant share my tag"
 REGION = "US"
 amazon = AmazonAPI(AMAZON_ACCESS_KEY, AMAZON_SECRET_KEY, AMAZON_ASSOC_TAG)

 products = amazon.search(BrowseNode='3760911', SearchIndex='Beauty', 
 MaximumPrice='30')

 for i, product in enumerate(products, 1):
    return HttpResponse(print(str(product)))

当我在python shell中运行时,代码就像魅力一样,但它不会在浏览器中运行。

3 个答案:

答案 0 :(得分:1)

mup.js

这里有两个问题:

  • 您不需要for i, product in enumerate(products, 1): return HttpResponse(print(str(product))) 。 HttpResponse接受一个字符串并将其呈现给Web浏览器。
  • 您只能print一次。

我能想到的最简单的解决方案是:

return

答案 1 :(得分:0)

django使用MVT! 你需要创建一个项目,设置URL并将HTTPResponse放入视图中! 阅读本教程: https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html

答案 2 :(得分:0)

for i, product in enumerate(products, 1):
    return HttpResponse(print(str(product)))

首先,您可以在循环中放置HttpResponse。最好的解决方案是首先生成响应字符串,然后返回该字符串。另外,删除打印。

for i, product in enumerate(products, 1):
     response_string += product
return HttpResponse(response_string)