I'm using Django 1.9 with Python 2.7 and I'm trying to get my app to recognize if the user is browsing with a mobile device. I've tried django_mobile but it seems outdated for django 1.9 because there aren't even template_loaders to install the app, am I wrong about this?
Asked
Active
Viewed 5,219 times
4 Answers
6
or you can use django-user_agents app. really good one. you also get the context in your template - among others important for rendering some ads depending on device
in view
request.user_agent.is_mobile
or in template
{% if request.user_agent.is_mobile %}
Do stuff here...
{% endif %}

doniyor
- 36,596
- 57
- 175
- 260
-
1django-user_agents app saved my day. It's very easy to use. – Tech Apr 27 '20 at 19:25
0
Try extracting the user agent string with
request.META['HTTP_USER_AGENT']
and then using this library to parse that string.
Example
from user_agents import parse
ua_string = request.META['HTTP_USER_AGENT']
user_agent = parse(ua_string)
if user_agent.is_mobile:
...

James Evans
- 830
- 8
- 12
0
Yes, you are little wrong. To install django_mobile
with Django 1.9
you should update settings (I've described this in the following PR, not merged yet). It works fine for me.
Exactly, you should replace TEMPLATE_LOADERS
with loaders
and TEMPLATE_CONTEXT_PROCESSORS
with context_processors
in TEMPLATES
dictionary. For more about template options, read the docs.

prokaktus
- 582
- 5
- 12