2013-11-22 1 views
0

Я разрабатываю приложение для холста Facebook, используя рамки django_facebook.Почему request.user является AnonymousUser в моем приложении для холста django-facebook?

Я хочу сохранить пользовательские данные в моей локальной базе данных.

@facebook_required(canvas=True) 
def home(request,graph): 

    facebook = FacebookUserConverter(graph) 
    facebook_converter = FacebookUserConverter(graph) 
    user_data = facebook_converter.facebook_registration_data(graph.get('me' ['username']) 
    print request.user //AnonymousUser 
    facebook_converter.get_and_store_friends(request.user) //This creates error 

И это дает мне ошибку «[Errno 10061] Нет соединения может быть сделано, потому что целевая машина активно отказалась его» Когда я проследить, я обнаружил, что request.user является AnonymousUser.

ответ

1

Это происходит, когда пользователь не вошел в систему.

request.user по умолчанию является SimpleLazyObject, который вычисляет вошедшего в систему пользователя, если пользователь вошел в систему. Если нет, то он принимает значение AnonymousUser отсюда и ошибки.

+0

Приложение Facebook доступно только пользователю, зарегистрированному пользователем '@facebook_required (canvas = True)'. Итак, как это возможно, запрос оценивает AnonymouseUser ?? –

+0

Это две разные вещи. Вход в Facebook - это не то же самое, что и имя входа в django. Вам необходимо включить эту логику в ваше приложение. – karthikr

+0

Спасибо @karthikr. Я изменил модель по мере необходимости. И теперь он работает хорошо. –