【问题标题】:Using an external API in Django在 Django 中使用外部 API
【发布时间】:2020-07-27 14:36:57
【问题描述】:

我正在尝试使用外部 API 为我的项目获取数据以显示在模板上。

service.py

def get_data(title, url, description, body, datePublished):
  url = 'https://contextualwebsearch-websearch-v1.p.rapidapi.com/api/Search/WebSearchAPI'
    params = {"autoCorrect": "true", "pageNumber": "1", "pageSize": "10", "q": "police", "safeSearch": "true" }
    r = requests.get(url, params=params)
    data = r.json()
    article_data = {'data': data['value']}
    return article_data

然后我在views.py上显示它

...
import service

class IndexData(TemplateView):
    def get(self, request):
        article_data = service.get_data.all()
        return render(request, 'pages/home.html', article_data)

但我收到了ModuleNotFoundError: No module named 'service'

我错过了什么吗?

【问题讨论】:

  • 试试import service as service

标签: django rest django-views


【解决方案1】:

在 freeCodeCamp 的 discord 频道上获得 Saint Peter 的帮助,解决了我自己的问题。

显然,在 cookiecutter-django 中,您必须先从项目传递到应用程序再到视图,然后才能导入如下内容:

from project_name.app_name import services

干杯

【讨论】:

    【解决方案2】:

    主文件夹是python包吗?它是否包含“init.py”文件? 如果没有,请尝试添加并重试 - 如果它给您错误,请分享文件招聘视图(甚至已清理)以获取更多信息

    PS:如果您添加初始化文件,请确保编辑所有其他调用该名称引用的文件,例如“main_folder.sub_file”变成了“sub_file”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多