当前位置:  开发笔记 > 编程语言 > 正文

适用于移动设备和台式机的Django WebApp

如何解决《适用于移动设备和台式机的DjangoWebApp》经验,为你挑选了1个好方法。

我用django制作了Web应用程序,它在桌面浏览器上看起来非常不错,但是在移动浏览器中,某些页面看起来并不完美。我的模板目录是myproject/template/我想要为移动浏览器创建新模板,myproject/template_mobile/并且每当网页通过移动设备访问时,它就会重定向到myproject/template_mobile/模板,否则它将进入低谷myproject/template/。有没有什么办法,使之形成setting.pydecorates?我不想改变整体的观点和旧模板。

提前致谢。



1> shashank..:

最终我得到了解决方案:我为此使用django-mobile,settings.py根据要求进行了更改,并为此做了一个middleware.py

settings.py:(first follow `django-mobile`)

DESKTOP_TEMPLATE_DIRS = (os.path.join(PROJECT_ROOT, 'templates'),)
MOBILE_TEMPLATE_DIRS = (os.path.join(PROJECT_ROOT, 'templates/mobile'),)

然后做 middleware.py

middleware.py
from django.conf import settings

class MobileTemplatesMiddleware(object):
    """Determines which set of templates to use for a mobile site"""

    def process_request(self, request):
        # sets are used here, you can use other logic if you have an older version of Python
        MOBILE_SUBDOMAINS = set(['m', 'mobile'])
        domain = set(request.META.get('HTTP_HOST', '').split('.'))
        if request.flavour=='mobile':
            settings.TEMPLATE_DIRS = settings.MOBILE_TEMPLATE_DIRS
        else:
            settings.TEMPLATE_DIRS = settings.DESKTOP_TEMPLATE_DIRS

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有