2013-07-15 3 views
2

Я установил django-facebook в свое Рабочее приложение, но это создает множество проблем. Я следил за установкой django-facebook here, но я не смог его правильно реализовать.django-facebook не вставляя данные в facebook в модели

В facebook/например, когда я пытаюсь подключиться к Facebook, он запрашивает учетные данные пользователя facebook, но это не может перенаправить на следующую страницу, как я получаю следующее сообщение об ошибке:

user or profile didn't have attribute facebook_id

мне удалось .py syncdb, но атрибуты facebook остаются «нулевыми» в DB после подключения к facebook в facebook/example.

Я добавил следующее в мой код, как и в документации:

счет/model.py

from django.db import models 
from django.contrib.auth.models import User 
from django.db.models.signals import post_save 
from django_facebook.models import FacebookProfileModel 

class User_info(FacebookProfileModel): 
    user_id = models.ForeignKey(User) 
    dob = models.DateField(blank=True, null=True) 
    contact = models.IntegerField(max_length=20, blank=True, null=True) 
    avatar = models.ImageField(upload_to='user_images', default='user_images/root.jpeg', null=True, blank=True) 

def create_facebook_profile(sender, instance, created, **kwargs): 
    if created: 
     User_info.objects.create(user_id=instance) 

post_save.connect(create_facebook_profile, sender=User) 

settings.py

INSTALLED_APPS = (
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
'django.contrib.admindocs', 
'account', 
'django_facebook', 
) 

TEMPLATE_CONTEXT_PROCESSORS =(
'django.contrib.auth.context_processors.auth', 
'django.core.context_processors.debug', 
'django.core.context_processors.i18n', 
'django.core.context_processors.media', 
'django.core.context_processors.static', 
'django.core.context_processors.tz', 
'django.core.context_processors.request', 
'django_facebook.context_processors.facebook', 
) 

AUTHENTICATION_BACKENDS = (
'django_facebook.auth_backends.FacebookBackend', 
'django.contrib.auth.backends.ModelBackend',) 

FACEBOOK_APP_ID = 'xxxxxxxxxxxxx' 
FACEBOOK_APP_SECRET = 'xxxxxxxxxxxxxx' 

urls.py

urlpatterns = patterns('', 
url(r'^accounts/login/$', login, {'template_name': 'login.html'}), 
url(r'^accounts/logout/$', logout, {'next_page': '/accounts/login/'}, name='auth_logout',), 
url(r'^accounts/signup/$', account.views.register, name='signup'), 
url(r'^facebook/', include('django_facebook.urls')), 
) 

Пожалуйста, помогите мне является. Благодарю.

ответ

1

Вы указали свой AUTH_PROFILE_MODULE в своих настройках.py? Попробуйте поставить:

AUTH_PROFILE_MODULE = "yourApp.User_info" 

Тогда SyncDB и создать учетную запись facebook. Это должно сделать трюк.

 Смежные вопросы

  • Нет связанных вопросов^_^