首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django CMS动态模板用于移动

问Django CMS动态模板用于移动
EN

Stack Overflow用户
提问于 2014-07-14 08:48:47
回答 1查看 392关注 0票数 1

我有一个Django CMS 2.4网站,当检测到移动用户代理时,我切换到不同的URL设置,并为移动用户提供不同的页面。现在,我想使用相同的内容,但使用不同的模板移动和桌面版本,所以我不需要做编辑在两个地方,所以URL将保持不变的两个版本。我知道在Django中这样做很容易,但是有了Django CMS,我就无法控制呈现和模板选择。我可以用任何方式做这件事,或者我应该寻找不同的解决方案吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-22 08:17:02

Django将检查POST中是否有template变量或GET在请求中,如果它是一个有效的模板(它是在options.py中的CMS_TEMPLATES中设置的),它将用于显示页面。可以在middleware.py中使用以下代码片段来切换模板:

代码语言:javascript
复制
if request.COOKIES.get("mobi")=='y':
        if request.current_page:
            request.POST._mutable = True
            request.POST['template'] = 'mobile/' + get_template_from_request(request)
            request.POST._mutable = False

您需要记住的一件事是,这只会切换page的模板,以更改插件模板,您需要修改插件的render方法中的instance.template变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24732705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档