管理根据设备类型将模板加载到特定的目录前缀。
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'
这将为平板电脑和移动设备呈现相同类型的模板。