为了网页应用程序我们主要使用泛型视图来处理所有内容,但我们将使用自定义视图来处理内容FB.应用程序。原因是我们正在对所有请求进行一些自定义验证,以及自定义视图使我们非常容易这样做。我们所有的自定义视图将居住在polling.fb.views.模块,所以我们可以通过分享那段信息来使事情更简单fb / urls.py.文件。

TODO所以我们改变这一行:

def投票要求):结果={'成功'错误的}如果要求方法==.U'GES'数据=要求得到el要求方法==.U'Post'数据=要求邮政如果数据has_key.U'PK'数据has_key.u'vote'):PK.=数据[U'PK'])投票=数据[u'vote']轮询=轮询对象得到PK.=PK.如果投票==.你“up”轮询向上()el投票==.你“下来”轮询()结果={'成功'真的}杰森=简单json.倾倒结果返回httpresponse.杰森mimetype.='application / json'

def投票要求):结果={'成功'错误的}如果要求要求has_key.U'PK'要求要求has_key.u'vote'):PK.=要求要求[U'PK'])投票=要求要求[u'vote']轮询=轮询对象得到PK.=PK.如果投票==.你“up”轮询向上()el投票==.你“下来”轮询()结果={'成功'真的}杰森=简单json.倾倒结果返回httpresponse.杰森mimetype.='application / json'

这意味着我们以模式指定的任何视图都可以是“列表”格式,而不是'polling.fb.views.list'。当您使用泛型视图时,它无法锻炼,因为它会尝试在'polling.fb.views'模块中找到通用视图(它们肯定不存在),但是当您的所有观点都来自一个地点,它是一种方便的方式来避免重复自己。

好的,现在让我们实际编写我们的网址:

var.成功的=“真的”;var.D.=新的对话对话dialog_pop.);D.showmessage.“ajax”“该操作是”+成功的);

相当简单,它看起来非常相似于我们所做的网页应用程序。

快速间歇

早在

var.一种=新的ajax.();//也可以是ajax.raw或ajax.fbml一种responseType.=ajax.杰森;//如果您想要登录一种Quancelogin.=真的;var.P.={“一”10.“名称”“杰克”};一种邮政'http://www.abc.com/d/'P.);

您需要填写应用程序的正确名称,您的API密钥和秘密密钥。最后两个,内部和callback_path需要上面指定的值。再次,如果您没有API密钥和密钥,

Emacs轮询/模板/ fb / detail.fbml

在此文件的顶部,我们应该已经拥有这些进口(我们将其设置为此

{%加载Facebook%}-按钮href ={%Furll.'/创造/'%}>创建一个新的民意调查</ fb:create-button>-物品href ={%Furll.'/'%}标题='所有民意调查'/>类=“轮询”>

分数“{{poll.question}}“ 是{{poll.score.}}!!

ID =“向上”>同意或者ID =“下”>不同意

我们希望将一个导入添加到该列表:

功能投票PK.替补{如果替补==.真的典型=“向上”;别的典型=“下”;var.ajax.=新的ajax.();ajax.responseType.=ajax.杰森;ajax.Quancelogin.=真的;var.参数={“PK”PK.“投票”典型};ajax.邮政'http://krit.willarson.com/vote/'参数);}

然后我们准备开始写作观点。

首先让我们写下我们的三种观点的脚手架:

类=“轮询”>

分数“{{poll.question}}“ 是{{poll.score.}}!!

href =“#”onclick =.“投票({{poll.pk.}}, 真的)”>同意或者href =“#”onclick =.“投票({{poll.pk.}}, 错误的)”>不同意

相当简单的东西。但是,现在我们将要为该脚手架添加一点,具体地,我们将要求用户登录以查看我们的任何页面。

功能投票PK.替补{如果替补==.真的典型=“向上”;别的典型=“下”;var.ajax.=新的ajax.();ajax.ondone.=功能数据{var.D.=新的对话对话dialog_pop.);如果数据成功==.真的味精=“你的投票是成功的!”;别的味精=“你的投票失败了。:(”;D.showmessage.“投票结果”味精);}ajax.responseType.=ajax.杰森;var.参数={“PK”PK.“投票”典型};ajax.邮政'http://krit.willarson.com/vote/'参数);}

我们将为我们直接与Facebook进行通信的每个视图中的这三条线。如果你看着这里可用。