跳转到主要内容

用于在Django中构建响应式网站的实用程序。

项目描述

https://travis-ci.org/mlavin/django-responsive.svg?branch=master

django-responsive 是一个用于在Django中构建响应式网站的实用程序。此工具旨在补充CSS媒体查询的使用,并帮助解决固定宽度元素(如广告或嵌入视频)的问题。

此项目 根据用户代理字符串匹配设备,而是使用一小段JavaScript将设备窗口大小提供给服务器。启用后,您可以在模板中访问 device_info 字典

{'width': 320, 'type': 'phone', 'height': 480}

现在您可以基于设备大小或类型有条件地渲染内容。

安装

django-responsive 需要 Python 2.6 或 2.7 以及 django>=1.3。如果使用 Django >= 1.5,则对 Python 3.2 有实验性支持。最简单的方法是从PyPi使用pip安装 django-responsive

pip install django-responsive

配置

要启用 django-responsive,您需要更新您的 MIDDLEWARE_CLASSESTEMPLATE_CONTEXT_PROCESSORS 设置。

MIDDLEWARE_CLASSES = (
    # Other middleware classes go here
    'responsive.middleware.DeviceInfoMiddleware',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    # Other context processors included here
    'responsive.context_processors.device_info',
)

请注意,TEMPLATE_CONTEXT_PROCESSORS 不包含在默认设置中,并且在添加此附加上下文处理器时,请务必小心不要丢失默认值。

有一个可选设置 RESPONSIVE_BREAKPOINTS,用于确定 device_info 字典中包含的 类型。默认断点为

# Name, Max Width (inclusive)
DEFAULT_BREAKPOINTS = {
    'phone': 480,
    'tablet': 767,
    'desktop': None,
}

要覆盖默认断点,请在项目的 settings.py 文件中包含一个 RESPONSIVE_BREAKPOINTS 字典

# Name, Max Width (inclusive)
RESPONSIVE_BREAKPOINTS = {
    'phone': 480,
    'tablet': 767,
    'desktop': None,
}

许可协议

django-responsive 采用 BSD 许可发布。有关更多详细信息,请参阅 LICENSE 文件。

贡献

如果您认为发现了错误或想为此项目做出贡献,请访问 Github 上的 django-responsive

运行测试

您可以通过以下方式运行测试:

python runtests.py

如果您看到任何测试失败,请将它们报告给 Github 问题跟踪器。

项目详情


下载文件

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

源分发

django-responsive-0.3.0.tar.gz (7.5 kB 查看哈希值)

上传时间 源代码

构建分发

django_responsive-0.3.0-py2.py3-none-any.whl (11.4 kB 查看哈希值)

上传时间 Python 2 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面