Вот как реализовать это в качестве промежуточного программного обеспечения в Django, предполагая, что это то, что вы используете в appengine.
class DetectiPhone(object):
def process_request(self, request):
if 'HTTP_USER_AGENT' in request.META and request.META['HTTP_USER_AGENT'].find('(iPhone') >= 0:
request.META['iPhone'] = True
В основном ищите «iPhone» в HTTP_USER_AGENT. Обратите внимание, что iPod Touch имеет немного другую подпись, чем iPhone, поэтому поиск по iPhone более широк, чем по более строгому.