用于在Django中构建响应式网站的实用程序。
项目描述
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_CLASSES 和 TEMPLATE_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 问题跟踪器。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。