Я пытаюсь сделать перенаправление на основе пользовательского агента.
Щас у меня в 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')
Спасибо за вашу помощь и время!