Загадочная проблема с Фанджанго - PullRequest
2 голосов
/ 22 июня 2011

Я только что настроил fandjango с моим простым приложением django.

Вот файлы:

VIEWS.PY

from django.http import HttpResponse
from django.shortcuts import render
from fandjango.decorators import facebook_authorization_required

@facebook_authorization_required()
def home(request):
    return render(request, 'home.html', {'facebook_user': request.facebook.user})

HOME.HTML

{% if facebook_user.first_name %}
You are:<br>

{{ facebook_user.first_name }} {{ facebook_user.last_name }}.
<br>ID: {{ facebook_user.facebook_id }}
<br>YOUR URL: {{ facebook_user.profile_url }}
<br><img src="http://graph.facebook.com/{{ facebook_user.facebook_id }}/picture?type=large">

{% else %}There's a problem here.{% endif %}

Теперь, когда я перехожу на http://apps.facebook.org/myapplicationname и я разрешаю доступу приложения для получения информации об учетной записи, я вижу home.html.

НО (вот БОЛЬШАЯ проблема) иногда я вижу всю свою информацию (если условие выполнено), но иногда я не вижу свою информацию и вижу "Здесь проблема".В базе данных все в порядке.

Я проверил это с учетной записью других, и все еще существует таинственная проблема.

Ответы [ 2 ]

1 голос
/ 23 июня 2011

Вместо того, чтобы делать
{% if facebook_user.first_name%}
проверить
{% if facebook.user%}

Это фактически проверит пользователя, авторизован ли он; первый может привести к случайным ошибкам, например, пропустить имя у некоторых пользователей.

0 голосов
/ 22 июня 2011

Кеширование включено в вашем приложении?Возникает ли проблема более или менее при полном обновлении?

Ограничивает ли Facebook ваши звонки API аутентификации?

Фанджанго правильно их кеширует?Ваша проблема появляется чаще всего, если вы обновляете страницу несколько раз, но исчезает, если вы оставляете ее на некоторое время и возвращаетесь?

Вы действительно используете последнюю версию fandjango?

...