首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同一个Django应用的不同版本

同一个Django应用的不同版本
EN

Stack Overflow用户
提问于 2012-03-19 21:46:30
回答 2查看 101关注 0票数 0

这是一个设计问题。我的目标是:

Django webapp对应于一个网站。我希望该网站是可以通过其官方域名,但也从Facebook内部。

但是,如果用户在Facebook中,我希望应用程序使用一个不同的模板文件夹,其中包含所有模板的“精简”版本。

在第一次迭代中,我的团队通过URL实现了这一点:- url.com会把你带到用普通模板呈现的页面- url.com/?fbapp=true会把你带到用精简模板呈现的页面

现在,我的问题是,为了定义模板,检测应用程序在Facebook上运行的最佳方法是什么?- URL参数是一种方法,在我看来是一种不好的方法;-一些会话变量(但这可能是不好的,因为一个人在Facebook和同一浏览器中导航应用程序时,会得到相同的模板类型)

应该有一些东西可以让我区分一个人什么时候访问我的网站url.com,什么时候他们通过Facebook应用程序访问它。

有人能帮帮忙吗?

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-20 05:37:31

有很多方法可以做到这一点,get参数看起来不是最优雅的,但仍然有效(只要你记得把它放在适当的地方)。

解决这个问题的一种方法是在两个不同的根urls上运行应用程序,例如。

/匹配'regular‘应用

/facebook/将应用的根目录与FB模板相匹配

然后你只需要为facebook应用程序使用一个不同的设置文件,并在那里设置如下内容

代码语言:javascript
复制
USE_LITE_TEMPLATES = True 

或者甚至更改模板的根路径并处理整个facebook的事情,而不涉及视图中的一行代码:)

票数 0
EN

Stack Overflow用户

发布于 2012-03-19 22:28:56

Facebook通过iframe包含您的站点,因此对于您的站点而言,嵌入到Facebook和直接访问之间没有区别。您已经完成的操作(附加一个查询字符串)与任何方法一样合理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9771355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档