Dajango AttributeError at / 'WSGIRequest' object has no attribute 'get'

Это мой views.py

from django.shortcuts import render
    import requests
    
    # Create your views here.
    def mainfun(requests):
        city="London"
        url=f"http://api.weatherapi.com/v1/current.json?key=69528a98f894438b88982548221507&q={city}&aqi=no"
        data= requests.get(url)
        return render(requests,"index.html",{'d':data})

Это мой settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'weatherapp',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'weather.urls'

запросы не работают при попытке получить данные из api. Как решить эту проблему?

Ваш параметр также имеет имя requests и, таким образом, перекрывает ссылку на библиотеку requests. Обычно первый параметр представления имеет имя request, поэтому:

from django.shortcuts import render
import requests

# Create your views here.
def mainfun(request):
    city="London"
    url=f"http://api.weatherapi.com/v1/current.json?key=69528a98f894438b88982548221507&q={city}&aqi=no"
    data= requests.get(url)
    return render(requests, 'index.html', {'d':data})
Вернуться на верх