python - 如何修复此错误模块“django.http.request”没有属性“META”?
问题描述
我试图在我的 django 项目中获取访问者的 IP 地址,这是我遵循的代码。
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
对象,而不是一个模块。
推荐阅读
- c - 如何确定单个数组中位的重复模式
- c# - 如何修复“客户端身份验证方案‘匿名’禁止 HTTP 请求”
- docker - kitura docker错误检查上下文:'无法统计'/home/conor/workspace/UserInstruction/.build-ubuntu/checkouts''
- linux - 如何使用 SendGrid 的 SMTP API 使用 curl 命令从 bash 脚本发送简单的 HTML 文件?
- excel - Apache POI,公式真假
- python - 为什么我在进行预测时从 ARIMA 模型中得到几乎相同的结果?
- swift - 如何在 SwiftUI 中使用 URL 显示 Google Place Photos?
- sql-server - SQL Server 2012,UnionAggregate 缺少 Z 和 M
- vimeo - 使用 Vimeo API 获取实时事件的日期
- javascript - 我需要在 Angular 应用程序中使用加载器吗?