我正在使用Django 1.9和Python 2.7,我试图让我的应用程序识别用户是否正在使用移动设备进行浏览。我尝试过django_mobile,但django 1.9似乎已经过时,因为安装应用程序甚至没有template_loaders,我对此有误吗?
答案 0 :(得分:1)
或者您可以使用django-user_agents应用。非常好。您还可以在模板中获取上下文 - 其中包括根据设备呈现某些广告的重要性
在视图中
request.user_agent.is_mobile
或在模板中
{% if request.user_agent.is_mobile %}
Do stuff here...
{% endif %}
答案 1 :(得分:0)
尝试使用
提取用户代理字符串request.META['HTTP_USER_AGENT']
然后使用this library来解析该字符串。
示例强>
from user_agents import parse
ua_string = request.META['HTTP_USER_AGENT']
user_agent = parse(ua_string)
if user_agent.is_mobile:
...
答案 2 :(得分:0)
在这种情况下,MobileESP库可能会有所帮助。它不是Django特有的,但可以与Django一起用作Python模块。 API page详细介绍了检测功能,例如层(平板电脑/触摸屏智能手机)和特定平台。
答案 3 :(得分:0)
是的,你错了。要使用django_mobile
安装Django 1.9
,您应该更新设置(我已在following PR中对此进行了描述,但尚未合并)。它对我来说很好。
确切地说,您应该将TEMPLATE_LOADERS
替换为loaders
,将TEMPLATE_CONTEXT_PROCESSORS
替换为context_processors
字典中的TEMPLATES
。有关模板选项的更多信息,请read the docs.