我一直在Google上搜索一段时间,一直没能找到我正在寻找的东西,并决定在这里问问大家。Django手机和全网站重定向
我有一个完整的网站和移动版本的网站(一页jQuery移动文件)。
从理论上讲,我想检查传入的请求可能的移动设备(我已经可以做到这一点),并重定向到移动网站。在移动网站上,用户可以点击指向设置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,其中包含一些来自重定向页面的内容。
任何想法?
是啊,我已经实现了一个移动的重定向伪,问题是当移动用户(即现在的移动页)想要回到完整的网站。您的解决方案不是完整的解决方案。 – Fernker
尽管我没有明确地编写代码,但通过在if语句中检查cookie或会话变量来检查用户是否请求访问完整网站会非常简单。 –
我已添加更新,因为添加需要添加的内容并不像我期望的那么简单。 – Fernker