管理根据设备类型将模板加载到特定的目录前缀。

django-adaptive的Python项目详细描述


管理根据设备类型将模板加载到特定的目录前缀。

这些加载程序与django mobi应用程序一起工作。有关详细信息,请阅读文档:https://pypi.python.org/pypi/django-mobi

安装

强烈建议从git和pip将此主题安装到项目virtualenv上。

来自PYPI

pip install django-adaptive

来自Github

-e git+https://github.com/RevSquare/django-adaptive#egg=django-adaptive

设置

开始之前,请确保已正确设置django mobi:https://pypi.python.org/pypi/django-mobi

django adaptive basicaly覆盖django默认文件系统和app_目录加载程序。您可以选择要单独使用的覆盖加载程序,并与以前的django加载程序同时使用它们。

第一步是将应用程序添加到settings.py中的已安装应用程序列表中

INSTALLED_APPS=(...'django_adaptive'...)

然后,您需要在settings.py文件中声明要添加的加载程序

TEMPLATE_LOADERS=('django-adaptive.filesystem.Loader','django-adaptive.app_directories.Loader',#'django.template.loaders.filesystem.Loader',#'django.template.loaders.app_directories.Loader',)

也可以使用缓存加载程序。 它适用于django 1.7.x

TEMPLATE_LOADERS=(('django_adaptive.cached.Loader',('django_adaptive.filesystem.Loader','django_adaptive.app_directories.Loader',)),)

最后一步是添加threadlocal中间件

MIDDLEWARE_CLASSES=(...'mobi.middleware.MobileDetectionMiddleware','django_adaptive.middleware.ThreadLocals',...)

声明设备前缀

在这个阶段什么也做不了。您需要在settings.py中为每个设备类别指定目录。

设置常数为:

  • 自适应模板目录桌面
  • 自适应模板目录tablet
  • 自适应模板目录移动

用法示例:

importosDEBUG=TrueTEMPLATE_DEBUG=DEBUGPROJECT_PATH=os.path.join(os.path.dirname(__file__),'..')TEMPLATE_DIRS=(os.path.join(PROJECT_PATH,'templates'))ADAPTIVE_TEMPLATE_DIRECTORIES_MOBILE='mobile'

此代码将在templates/mobile目录中安装mobile的模板。以及templates中的其余文件(默认情况下不添加前缀)。

如果需要在类似目录中组合设备类型,只需将它们指向该目录即可。例如:

ADAPTIVE_TEMPLATE_DIRECTORIES_DESKTOP='desktop'ADAPTIVE_TEMPLATE_DIRECTORIES_TABLET='mobile'ADAPTIVE_TEMPLATE_DIRECTORIES_MOBILE='mobile'

这将为平板电脑和移动设备呈现相同类型的模板。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Intellij和Eclipse无法找到库工件   java Mapbox Android Symbolayer重置筛选器   java如何在顶部显示特定的recyclerview项?   java如何在Hibernate中使用@Qualifier   我想计算特定文本webdriver java在多个页面上可用的HTML表中的数据   java捕获Spring MVC REST服务抛出的Jersey REST客户端的异常   java Hibernate flush()影响事务   密钥绑定Java密钥绑定   sonarqube java,sonar,圈复杂度   使用3DES在Java中加密,在SQL Oracle中解密   regex正则表达式在regex101上工作。com,但不是prod   JAVAsql。SQLException:ORA00600:内部错误代码,参数:[12811],[93233]   java H2数据库存储在哪里?   java如何避免在使用Jackson时从JSON字符串反序列化空JSON数组元素