Перенаправление промежуточного программного обеспечения Django на основе пользовательского агента - PullRequest
0 голосов
/ 24 января 2019

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

Спасибо за вашу помощь и время!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...