2013-10-09 30 views
2

我成功使用django-facebook登錄facebook用戶 (例如,登錄後,模板標籤{{ user }}顯示facebook用戶名)。但是,它不會將其設置爲管理界面 - 並且根據facebook users,根本沒有數據。django-facebook連接用戶,但不填寫任何數據的管理表

此外,SQL表django_facebook_facebookcustomuser正在顯示用戶數據。

我的猜測是,我需要登記admin.py的FacebookCustomUser模式,所以我這樣做 -

class FacebookCustomUserAdmin(admin.ModelAdmin): 
    pass 

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

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

它解決了這個問題,但在一個非常hackish的方式...... 我現在有一個'用戶'表,顯示不同的用戶,但'開放圖共享'和'喜歡'部分仍然沒有填充數據庫中的任何數據。

當我真正試圖通過東西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模型)到管理網站?

非常感謝!

+0

我有同樣的問題!任何見解?! – Skovy

回答

0

兩個指針:

  1. 擴展UserAdmin,而不是ModelAdmin。使用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 
相關問題