2013-11-30 2 views
0

Я хочу показать разные страницы для разных устройств, таких как ПК и мобильные устройства. Есть ли способ сообщить пользователю-агенту в запросе и передать результат (тип устройства) в соответствующее представление? Я не хочу различать их в каждом представлении. Я могу найти подкласс класса View и переопределить метод отправки. укажите тип устройства доступа в методе диспетчеризации и сохраните результат как атрибут класса, поэтому в методе get и post я могу получить его с помощью self.result.Как передать данные на просмотр в django?

+0

Если у вас нет существенных различий между страницами (это не просто разные стилистические/css-файлы и которые требуют реальной работы на стороне сервера), обычно решение будет односторонним (javascript и т. Д.), – yuvi

ответ

0

Если различие, которое вы пытаетесь сделать, может быть сделано с использованием информации о пользовательском агенте, на которую вы ссылаетесь, это поведение встроено в представления, основанные на классе. Объект request сохраняется как self.request во время view метода на классе ядра View, который называется еще до dispatch, поэтому в get и post вы можете проверить self.request.META.get('HTTP_USER_AGENT') или любой другой полезный заголовок HTTP.

Вы, конечно, зависите от информации, предоставленной HTTP-запросом.

Смежные вопросы