我已经在 Google 上搜索了一段时间,但无法准确找到我要查找的内容,因此决定在这里向大家询问。
我有一个完整的网站和网站的移动版本(一页 jQuery Mobile 文件)。
理论上,我想要检查可能的移动设备的传入请求(我已经可以这样做)并重定向到移动站点。在移动站点上,用户可以单击指向设置 cookie 的完整站点的链接,并且不会将该用户重定向回移动站点(即使他们的设备每次请求都会满足该条件)。
我所能找到的只是关于如何检查移动/桌面设备的每个请求并相应地更改模板。在这种情况下,这不是我需要做的。对于移动版和桌面版来说,这是一个完全不同的模板。
在这种情况下有什么想法或解决方案可能会有所帮助?
更新 1:
所以我已经尝试实现这一点,但我遇到了一些奇怪的问题/问题。这是我的中间件(在设置中的中间件列表中最后列出)
class mobile_check(object):
def process_request(self,request):
if mobileBrowser(request) and not request.session.get('view_full'):
return HttpResponseRedirect(reverse('posts.views.mobile_django'))
这是当他们在 jQuery Mobile 中单击完整站点链接时要处理的视图。
def mobile_fullsite(request):
#import pdb; pdb.set_trace()
request.session['view_full'] = True
return HttpResponseRedirect(reverse('posts.views.index'))
在我看来,这应该可以正常工作,但事实并非如此。它从链接中访问 mobile_fullsite 视图,并且 url 从 .../mobile/ 更改为 .../fullsite/ 但它仍然看起来像 jQuery mobile,其中包含来自重定向页面的一些内容。
有任何想法吗?