跳转到主要内容

Django中间件和视图装饰器,用于检测手机和小屏幕设备

项目描述

作者:Ken Cochrane
分支:http://minidetector.googlecode.com
分支描述:我对代码进行了重组,增加了缓存,并对一些地方进行了调整。
描述:Django中间件和视图装饰器,用于检测手机和小屏幕设备
版本:0.1.7
最后更新:2013年11月17日

需求
-------------
Django 1.1或更高版本
如果想要缓存对象,请启用Django缓存

如何使用
-----------
使用django-mobi非常简单。只需将mobi包放置到您的项目路径中,然后执行以下操作之一


使用mobi.MobileDetectionMiddleware中间件
---------------------------------------------------
此中间件将扫描所有传入请求以查看是否为移动设备。如果是,则将请求的mobile属性设置为True。

要使用它,只需将mobi.MobileDetectionMiddleware添加到您的settings.py中的MIDDLEWARE_CLASSES元组中

然后在您的视图中,您可以检查request.mobile - 如果为True,则将其视为小屏幕设备。如果为False,则可能是桌面浏览器、蜘蛛或其他。

如果您想有一些项不被中间件触发(例如iPad),则添加一个名为MOBI_USER_AGENT_IGNORE_LIST的设置,并将该项添加到列表中。

MOBI_USER_AGENT_IGNORE_LIST = ['ipad',]

如果您想区分平板电脑和手机,则设置MOBI_DETECT_TABLET = True并使用request.tablet属性

{% if not request.mobile or request.tablet %}
<p>此部分仅对桌面和平板电脑启用</p>
{% endif %}




使用mobi.MobileRedirectMiddleware中间件
---------------------------------------------------
此中间件将扫描所有传入请求,以查看是否为移动设备,如果是,则将请求重定向到不同的URL。如果您想强制所有移动流量访问您网站的移动版,这将很有用。

要使用它,您只需在settings.py中的MIDDLEWARE_CLASSES元组中添加mobi.MobileRedirectMiddleware,并将MOBI_REDIRECT_URL设置为"http://example.mobi",其中http://example.mobi是您希望重定向所有移动流量的网站。


不使用中间件
------------------------
如果您只有某些视图需要区分,您可以选择不搜索每个收到的请求。您只需像这样包装相关的视图即可

from mobi.decorators import detect_mobile

@detect_mobile
def my_mobile_view(request)
if request.mobile
#对移动设备进行一些操作

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

django-mobi-0.1.7.tar.gz (5.8 kB 查看哈希值)

上传时间

由以下支持