首页 > 解决方案 > 请求在我的 DJANGO 项目之一中不起作用

问题描述

我在使用请求包时遇到问题,我已尽力解决此问题。

问题请求在我的 Django 项目之一中不起作用。它返回 403 禁止。但是相同的代码正在我的另一个 Django 项目上运行(相同的笔记本电脑具有相同的互联网连接,但不同的虚拟环境)。

因此,因此,我无法在我现有的 Django 项目之一中使用 requests 包。

这是代码:这是我将在具有两个不同虚拟环境的两个 Django 项目上运行的演示代码。

import requests
from bs4 import BeautifulSoup
from django.shortcuts import render
​
# from .models import RequestData
​
​
def home(request):
    data = []
    urls = [
        "https://api.github.com/search/repositories",
        "https://www.dataquest.io",
        "https://www.python.org",
        "https://api.github.com/events"
    ]
    for url in urls:
        r = requests.get(url)
        soup = BeautifulSoup(r.text, 'html.parser')
        if soup.title:
            data.append(str(soup.title))
        else:
            data.append("No Title")
    return render(request, "requester/index.html", {'data': data})

这是我的 HTML 部分:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    {% for dat in data  %}
      <li>{{dat}}</li>
    {% endfor %}
</body>
</html>

这是我对 Django 项目的回复。

第一(有问题的)

在此处输入图像描述


二(没问题)

在此处输入图像描述

另外,我尝试了不同版本的请求包,但仍然有同样的问题。

标签: pythonpython-3.xdjangodjango-viewspython-requests

解决方案


你也使用相同的 urls.py 吗?我可以看到差异(tst vs test)你可能正在调用另一个函数。


推荐阅读