这是一个设计问题。我的目标是:
Django webapp对应于一个网站。我希望该网站是可以通过其官方域名,但也从Facebook内部。
但是,如果用户在Facebook中,我希望应用程序使用一个不同的模板文件夹,其中包含所有模板的“精简”版本。
在第一次迭代中,我的团队通过URL实现了这一点:- url.com会把你带到用普通模板呈现的页面- url.com/?fbapp=true会把你带到用精简模板呈现的页面
现在,我的问题是,为了定义模板,检测应用程序在Facebook上运行的最佳方法是什么?- URL参数是一种方法,在我看来是一种不好的方法;-一些会话变量(但这可能是不好的,因为一个人在Facebook和同一浏览器中导航应用程序时,会得到相同的模板类型)
应该有一些东西可以让我区分一个人什么时候访问我的网站url.com,什么时候他们通过Facebook应用程序访问它。
有人能帮帮忙吗?
干杯
发布于 2012-03-20 05:37:31
有很多方法可以做到这一点,get参数看起来不是最优雅的,但仍然有效(只要你记得把它放在适当的地方)。
解决这个问题的一种方法是在两个不同的根urls上运行应用程序,例如。
/匹配'regular‘应用
/facebook/将应用的根目录与FB模板相匹配
然后你只需要为facebook应用程序使用一个不同的设置文件,并在那里设置如下内容
USE_LITE_TEMPLATES = True 或者甚至更改模板的根路径并处理整个facebook的事情,而不涉及视图中的一行代码:)
发布于 2012-03-19 22:28:56
Facebook通过iframe包含您的站点,因此对于您的站点而言,嵌入到Facebook和直接访问之间没有区别。您已经完成的操作(附加一个查询字符串)与任何方法一样合理。
https://stackoverflow.com/questions/9771355
复制相似问题