2

我成功地使用 django-facebook 登录 facebook 用户(例如,登录后,模板标签{{ user }}显示 facebook 用户名)。但是,它并没有进入管理界面 - 而且facebook users根本没有数据。

此外,SQL 表django_facebook_facebookcustomuser正在显示用户数据。

我的猜测是我需要FacebookCustomUser在 admin.py 中注册模型,所以我这样做了 -

class FacebookCustomUserAdmin(admin.ModelAdmin):
    pass

admin.site.register(models.FacebookCustomUser, FacebookCustomUserAdmin)

# and commented out the user admin inteface -
#admin.site.register(models.FacebookUser, FacebookUserAdmin)

它解决了这个问题,但是以一种非常骇人听闻的方式......我现在有一个“用户”表,显示不同的用户,但“打开图形共享”和“喜欢”部分仍然没有填充来自数据库的任何数据.

当我实际上尝试在 CustomUser 类中传递一些东西时,就像在原始代码中一样 -

 class FacebookCustomUserAdmin(admin.ModelAdmin):
    list_display = ('user_id', 'name', 'facebook_id',)
    search_fields = ('name',)

我收到以下 http500 错误-

FacebookCustomUserAdmin.list_display[0], 'user_id' is not a callable or an attribute of 'FacebookCustomUserAdmin' or found in the model 'FacebookCustomUser'.

有没有人知道我如何正确地将 facebook 用户(以及其他 django-facebook 模型)注册到管理站点?

多谢!

4

1 回答 1

0

两个指针:

  1. 扩展UserAdmin而不是ModelAdmin.
  2. 使用id而不是user_id.

尝试这个:

from django.contrib import admin
from django_facebook import models
from django.contrib.auth.admin import UserAdmin

class AccountAdmin(UserAdmin):
    list_display = ('id', 'username', 'email', 'facebook_id')

admin.site.register(models.FacebookCustomUser, AccountAdmin)

settings.py您需要添加以下选项以确保保存喜欢和朋友:

FACEBOOK_STORE_LIKES = True
FACEBOOK_STORE_FRIENDS = True
于 2014-04-25T20:57:35.000 回答