Как обнаружить складной/флип-телефон Android в Djagno

Мой проект отображает шаблоны отдельно от PC/tablet и mobile.

  • views.py
...
from django_user_agents.utils import get_user_agent
...

class indexView(View):
    def get(self, request, *args, **kwargs):
        ...
        user = get_user_agent(request)
        if user.is_pc or user.is_tablet:
            template_name = 'web/index.html'     # for PC and Tablet
        else :
            template_name = 'mobile/index.html'  # for Mobile
        ...

Однако Galaxy z fold 4 при сворачивании и открытии в браузере Chrome распознается как tablet. В базовом браузере Samsung при складывании он отображается как мобильный шаблон

Когда я проверил userAgent, он включил "Safari" вместо "Mobile Safari" в браузере Chrome.

Mozilla/5.0 (Linux; Android 13; SM-F936N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36

Когда складной телефон сложен, я хочу отображать его как мобильный шаблон на экране обложки в браузере Chrome.

Есть ли способ обнаружить складной телефон в Django? Или если у вас есть другая хорошая идея, пожалуйста, посоветуйте ее :)

Насколько я понимаю, только шаблон меняется в зависимости от того, планшет это или ПК, вы можете использовать один шаблон, который будет меняться в зависимости от соотношения сторон пользователя.

Вернуться на верх