Как исправить эту ошибку модуль '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
, а не модуль.