我已经查看了有关此问题的其他stackoverflow帖子,但回复似乎已过时或git repos不再存在。
在Django中为1.7 +版本检测移动设备的推荐方法是什么?
作为一个用例,如果用户在移动设备上,我需要此功能来引导用户访问移动网站,否则将其引导至网站的桌面版本。
答案 0 :(得分:2)
根据您是否要使用User-Agent,您可以编写一个非常简单的中间件类来执行此操作
class UserAgentMiddleware():
def process_request(request):
if request.META.HTTP_USER_AGENT == (MOBILE):
do_something()
else:
return None
然后将其添加到您的中间件
MIDDLEWARE_CLASSES = [
...
'path.to.UserAgentMiddleWare',
...
]
要按屏幕尺寸(设备屏幕尺寸)执行此操作,您需要编写一些javascript,然后在页面顶部使用AJAX调用重定向到移动网站。
var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
if (width < X) {
window.location = window.location.protocol + "MOBILE_SITE_HERE" + window.location.pathname
}