【问题标题】:Getting django-facebook to work让 django-facebook 工作
【发布时间】:2013-05-12 05:42:10
【问题描述】:

我试图让 django-facebook 按照自述文件中给出的说明工作 https://github.com/tschellenbach/Django-facebook。我是 Django 新手。

看起来很简单,但我面临以下问题。我无法让它工作。

在自述文件中写着AUTH_USER_MODEL = 'member.FacebookUser'。我猜正确的选择是 AUTH_USER_MODEL = 'django_facebook.FacebookUser' 导入模型后 - 即使在进行更改后,我也花了一些时间,syncdb 抛出一个错误,指出:

FacebookUser does not have a USERNAME_FIELD

无法解决我决定使用默认用户模型 - auth.user。那行得通,我能够加载 facebook/example。但是从 facebook 验证后,我收到一个错误

您需要在项目设置中设置 AUTH_PROFILE_MODULE

所以我加了AUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile'

现在它返回一个新错误 -

Facebook个人资料匹配查询不存在。查找参数为 {'user_id_exact': 2L}

我现在该怎么办?

【问题讨论】:

    标签: django facebook login django-facebook


    【解决方案1】:

    执行python manage.py syncdb 或任何需要执行的操作以使用新表 (facebook_profile) 更新您的数据库架构。

    另外,你没有提到它,但我有一个使用 django_facebook 的应用程序,我有我的 settings.py 文件,如下所示:

    TEMPLATE_CONTEXT_PROCESSORS = (
        ...
        'django_facebook.context_processors.facebook',
        ...
        )
    
    AUTHENTICATION_BACKENDS = (
        ...
        'django_facebook.auth_backends.FacebookBackend',
        )
    

    希望对你有帮助

    【讨论】:

    • 嗨,保罗,谢谢您的回复。我确实将这些设置添加到 settings.py 中,并且确实运行了 syncdb。我不明白的是 - 'member.FacebookUser' 是什么意思?这显然是个错误对吧?其次,我使用了我的管理后端。这是否意味着我已经安装了用户身份验证?
    • member.FacebookUser 要么是文档中的错误,要么是文档示例使用了覆盖 FacebookUser 的应用程序 member,这就是它使用它的原因。你设法让应用程序运行了吗?它给了我一些麻烦,直到我终于做到了。如果您需要更多帮助,请告诉我。
    • 嘿保罗,我设法让它工作......最后......我安装了身份验证,因为我正在使用管理后端......所以这就是问题......另外我没有完全了解用户身份验证是如何工作的 .. 所以我从头到尾挖掘了 djangobook-chapter14extending existing user models .. 实施了这些东西,它已经开始工作了.. 感谢您提供帮助..!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 2013-05-09
    • 2020-06-17
    • 1970-01-01
    相关资源
    最近更新 更多