Различные версии приложения Same Django - PullRequest
0 голосов
/ 19 марта 2012

Это вопрос дизайна. Моя цель заключается в следующем:

Веб-приложение Django соответствует веб-сайту. Я хочу, чтобы этот веб-сайт был доступен через официальный домен, а также изнутри Facebook.

Однако, если пользователь находится внутри Facebook, я хочу, чтобы приложение использовало другую папку шаблонов, в которой есть «облегченные» версии всех шаблонов.

На первой итерации моя команда сделала это по URL: - url.com приведет вас на страницу, отображаемую с помощью обычного шаблона - url.com/?fbapp=true приведет вас к странице, отображаемой с помощью облегченного шаблона

Теперь мой вопрос: каков наилучший метод обнаружения приложения, запущенного на Facebook, для определения шаблонов? - параметр URL, как указано выше, является способом, на мой взгляд, плохим; - Некоторая переменная сеанса (но это может быть плохо, так как одно приложение для навигации в Facebook и на сайте в одном браузере получит одинаковый тип шаблона для обоих)

Должно быть что-то, что позволяет мне различать, когда человек заходит на мой сайт, url.com, и когда он получает к нему доступ через приложение Facebook.

Может кто-нибудь помочь?

Приветствия

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Facebook включает ваш сайт с помощью iframes, поэтому в том, что касается вашего сайта, нет никакой разницы между встраиванием в Facebook и прямым доступом.То, что вы уже сделали (добавление строки запроса), так же разумно, как и любой подход.

1 голос
/ 20 марта 2012

Есть много способов сделать это, параметр get не выглядит самым элегантным, но все же работает (насколько вы помните, чтобы сохранить его на месте).

Один из способов решить эту проблему можетзапускать приложение по двум разным корневым URL-адресам, например.

/ соответствует «обычному» приложению

/ facebook / соответствует корневому каталогу приложения с шаблонами FB

Тогда вам просто нужно использовать другой файл настроек для приложения facebook и там установить что-то вроде

USE_LITE_TEMPLATES = True 

Или даже изменить корневой путь шаблонов и обрабатывать весь элемент facebook без касания строки кода впросмотров:)

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