Так что мне пришлось немного подправить код их представления, чтобы заставить это работать. Посмотрев в socialauth.views , вы увидите, что мы получаем атрибут FACEBOOK_APP_ID из нашего файла настроек. Это хорошо.
Глядя на шаблон socialauth / login_page.html , есть раздел:
{% if FACEBOOK_APP_ID %}
<div id="facebook">
<p><fb:login-button perms="{{ login_button_perms }}"></fb:login-button></p>
</div>
{% endif %}
Теперь это похоже на доступ к переменной FACEBOOK_APP_ID. Конечно, мы получаем этот атрибут в socialauth.views . Однако у нас есть одна проблема. Мы никогда не выставляем переменную в шаблоне (что должно быть сделано вручную, помните?). Итак, мы заменим старое представление страницы входа в систему:
def login_page(request):
return render_to_response('socialauth/login_page.html',
{'next': request.GET.get('next', LOGIN_REDIRECT_URL)},
context_instance=RequestContext(request))
с:
def login_page(request):
return render_to_response('socialauth/login_page.html', {
'next': request.GET.get('next', LOGIN_REDIRECT_URL),
'FACEBOOK_APP_ID': FACEBOOK_APP_ID,
},
context_instance=RequestContext(request))
Обратите внимание, что единственная разница заключается в строке 'FACEBOOK_APP_ID': FACEBOOK_APP_ID.