7

要么我的谷歌搜索完全离开了我,要么几乎没有任何django-socialregistration的文档/教程。太糟糕了,因为它看起来是一个足够好的应用程序。通过一些试验和错误,我设法让它主要在我的网站上运行。

我的问题是,使用django-socialregistration如何在注册时请求 facebook 用户的全名、当前城市和出生日期的权限并将其存储在 Django 中的 UserProfile 表(这是我的 django-profiles 的 AUTH_PROFILE_MODULE)中?另外,一旦建立连接,我如何从 Django 发布到用户的墙上?

目前,当我单击“与 Facebook 连接”按钮时,会建立 facebook 连接,创建一个新的 Django 用户,并且该用户使用该 Django 帐户登录。但是,不会创建 UserProfile,也不会保存 facebook 个人资料数据。

任何 Facebook 连接专家都想帮助 Django 小马飞到 Facebookland?

设置:
- Django 1.2.1
- Python 2.5.2
- django-socialregistration 0.4.2
- django-registration 0.7
- django-profiles 0.2

替代文字
“好心的先生,你能帮我找到神奇的Facebookland吗?”

4

3 回答 3

8

在 facebook_js.html 中,您需要通过取消注释您需要从 FB 获取的项目来调整以下行:

     FB.login(handleResponse/*,{perms:'publish_stream,sms,offline_access,email,read_stream,status_update,etc'}*/);

然后,在 FacebookMiddleware 中,您可以从fb_user中提取该数据,如下所示:

     facebook.GraphAPI(fb_user['access_token']).get_object('me')
于 2010-10-19T22:29:44.180 回答
3

FWIW,我刚刚在 github 的“问题”部分中发现了来自应用程序作者的这个适度有用的块:

来自“tolano”的问题:

我有一个与用户关联的配置文件模型,并且每次创建用户时也应该创建配置文件。我们是否应该为此创建一个新的自定义设置视图?

我发现了几个问题,因为文档很差。非常感谢你。

来自“闪烁南瓜”的回答:

是的。理想情况下,您将用自己的覆盖设置视图。调整用户创建操作的更简单方法是将自定义表单传递到设置视图中。您将通过覆盖标准 url 来做到这一点。

于 2010-10-19T22:57:41.620 回答
1

这是另一个相关的金块(来源: http: //github.com/flashingpumpkin/django-socialregistration/issues/closed#issue/7)这些足够了,这个页面将成为事实上的 django-socialregistration 文档;)

来自“girasquid”的问题:

也许我只是错过了一些东西,但我被困在这里 - 有没有办法将其他网站上的帐户“连接”到已经存在的用户?

例如,我已经注册了真的很棒的网站,所以我不需要再次注册 - 但我想连接我的 Facebook 和 Twitter 帐户,以便我也可以使用这些帐户登录。

有没有办法做到这一点?如果没有……我该怎么办?

来自“闪烁南瓜”的回答:

就在这里。只需为 Facebook Connect 使用与注册相同的模板标签。根据用户是否已经登录,它将仅创建 FacebookProfile 对象并将其链接到现有用户 - 或同时创建用户对象和 FacebookProfile 对象。

看看这里:http:
//github.com/flashingpumpkin/django-socialregistration/blob/master/socialregistration/templates/socialregistration/facebook_button.html

http://github.com/flashingpumpkin/django-socialregistration/blob/master/socialregistration/templatetags/facebook_tags.py

于 2010-10-20T05:20:43.047 回答