我正在尝试基于用户代理进行重定向。 现在我在views.py中:
class IndexRedirectView(RedirectView):
def get_redirect_url(self, *args, **kwargs):
user_agent = get_user_agent(self.request)
if user_agent.is_pc:
return reverse_lazy("main:index")
else:
return reverse_lazy("main:mobile_index")
我仅在主页上检查用户代理,但是我需要在任何页面(例如,对于任何文章页面)上执行此操作,并将用户重定向到网站的桌面版或移动版。
如何正确执行?也许是这样编写自己的中间件:
class UserAgentMiddleware(object):
def process_request(self, request):
if user_agent.is_pc:
HttpResponseRedirect('desktop version')
else:
HttpResponseRedirect('mobile version')
感谢您的帮助和时间!