django 全局取request的 User-Agent
时间: 2023-08-01 22:07:48 浏览: 136
django-request-id:X-Request-Id记录
在 Django 中,可以通过中间件来实现全局获取请求的 User-Agent。
首先需要创建一个中间件类,例如:
```python
class UserAgentMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
request.user_agent = request.META.get('HTTP_USER_AGENT')
response = self.get_response(request)
return response
```
然后将中间件添加到 Django 的中间件列表中:
```python
MIDDLEWARE = [
# ...
'path.to.UserAgentMiddleware',
# ...
]
```
这样,在每个请求处理时,都会将请求的 User-Agent 保存到 request 对象的 user_agent 属性中,可以在任何视图函数或模板中访问它。
阅读全文