Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Django获取用户的操作系统?_Python_Python 3.x_Django - Fatal编程技术网

Python 如何使用Django获取用户的操作系统?

Python 如何使用Django获取用户的操作系统?,python,python-3.x,django,Python,Python 3.x,Django,我按照这个步骤尝试从请求中获取用户代理 特别是操作系统 很明显,我不能使用正常的方式获取操作系统,即使用python的os模块,但这不会起作用,因为操作系统将是托管服务器的操作系统 模板=[ { 'BACKEND':'django.template.backends.django.DjangoTemplates', “DIRS”:[TEMPALTES_DIR,], “应用程序目录”:正确, “选项”:{ “上下文处理器”:[ “django.template.context_processors

我按照这个步骤尝试从请求中获取用户代理

特别是操作系统 很明显,我不能使用正常的方式获取操作系统,即使用python的os模块,但这不会起作用,因为操作系统将是托管服务器的操作系统

模板=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
“DIRS”:[TEMPALTES_DIR,],
“应用程序目录”:正确,
“选项”:{
“上下文处理器”:[
“django.template.context_processors.debug”,
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
“myproject.myapp.context\u processors.user\u agent”,
],
},
},
]

我不能那样做。它声称我没有myproject.myapp模块来从请求中获取用户代理。您可以在视图中使用此模块:

agent = request.META["HTTP_USER_AGENT"]
然后,您可以使用以下方法获取操作系统:

import httpagentparser
agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
s = httpagentparser.detect(agent)["os"]
试试这个: