我已经看过关于这个问题的其他stackoverflow帖子,但回复要么似乎过时了,要么git repos已经不存在了。
在Django for versions 1.7+中检测移动设备的推荐方法是什么?
作为一个用例,如果用户在移动设备上,我需要此功能将用户定向到移动站点,否则将用户定向到该站点的桌面版本。
发布于 2015-10-23 18:24:50
根据您是否希望使用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
}
https://stackoverflow.com/questions/33308835
复制