Django CMS动态移动文件夹模板
我有一个Django CMS 2.4网站,目前当检测到移动用户代理时,我会切换到不同的URL设置,为移动用户提供不同的页面。现在,我想对两者使用相同的内容,但对移动版和桌面版使用不同的模板,因此我不需要在两个位置进行编辑,因此URL将对两者保持不变。我知道这在Django中很容易做到,但有了Django CMS,我无法控制渲染和模板选择。我可以用任何方式来做吗,或者我应该寻找一个不同的解决方案吗Django CMS动态移动文件夹模板,django,django-cms,Django,Django Cms,我有一个Django CMS 2.4网站,目前当检测到移动用户代理时,我会切换到不同的URL设置,为移动用户提供不同的页面。现在,我想对两者使用相同的内容,但对移动版和桌面版使用不同的模板,因此我不需要在两个位置进行编辑,因此URL将对两者保持不变。我知道这在Django中很容易做到,但有了Django CMS,我无法控制渲染和模板选择。我可以用任何方式来做吗,或者我应该寻找一个不同的解决方案吗 谢谢。Django CMS将检查POST或GET in请求中是否有模板变量,如果它是一个有效的模板,
谢谢。Django CMS将检查POST或GET in请求中是否有模板变量,如果它是一个有效的模板,则会在options.py的CMS_TEMPLATES中设置,用于显示页面。 以下代码段可在middleware.py中用于切换模板:
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
需要记住的一点是,这只会切换页面的模板,要更改插件的模板,需要修改插件的render方法中的instance.template变量