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
#对移动设备进行一些操作
分支: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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d816c4a09045d6546a954482fe36922f4d935aa9b848865109b1a858e29f437 |
|
MD5 | 1a0223bd5f0154983f077c37f0603838 |
|
BLAKE2b-256 | a28453bd7291b5775b6007e3f138aeffecb5d685830e478223d4517179dc827d |