Python 在Django 1.7+;中,在视图中检测移动设备的推荐方法是什么;?

Python 在Django 1.7+;中,在视图中检测移动设备的推荐方法是什么;?,python,django,Python,Django,我看过其他关于这个问题的stackoverflow帖子,但是回复要么已经过时,要么git回购协议已经不存在 对于版本1.7+,Django中检测移动设备的推荐方法是什么 作为一个用例,如果用户在移动设备上,我需要此功能将其定向到移动站点,否则将定向到该站点的桌面版本。根据您是否要使用用户代理,您可以编写一个非常简单的中间件类来完成此操作 class UserAgentMiddleware(): def process_request(request): if reques

我看过其他关于这个问题的stackoverflow帖子,但是回复要么已经过时,要么git回购协议已经不存在

对于版本1.7+,Django中检测移动设备的推荐方法是什么


作为一个用例,如果用户在移动设备上,我需要此功能将其定向到移动站点,否则将定向到该站点的桌面版本。

根据您是否要使用用户代理,您可以编写一个非常简单的中间件类来完成此操作

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
 }
var-width=(window.innerWidth>0)?window.innerWidth:screen.width;
如果(宽度
你试过微型探测器吗?我没试过。我找到了一个稳定的git repo,我将尝试它:只是尝试了一下,并且运行了一个有效的实现!只需下载上面的git repo,然后将文件夹内容复制并粘贴到django项目所在的目录中。然后将“'minidetector.Middleware',”添加到settings.py中的Middleware_类中