Как исправить эту ошибку модуль 'django.http.request' не имеет атрибута 'META'?

Я пытаюсь получить IP адрес посетителя в моем проекте django, вот код, которому я следовал.

from django.contrib.gis.geoip2 import GeoIP2


def add(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip

g = GeoIP2()
ip = add (request)
location = g.city(ip)
longitude = location["longitude"]
latitude = location["latitude"]
user_location = Point(longitude, latitude, srid=4326)

Когда я запускаю сервер, я получаю следующую ошибку, и я не знаю почему

 module 'django.http.request' has no attribute 'META'

Вероятно, вы импортировали модуль django.http.request в верхней части вашего файла, и поэтому имя request столкнулось с одноименной переменной. Посмотрите этот ответ . request в вашей функции должен быть объект HttpRequest, а не модуль.

Вернуться на верх