2010-12-08 4 views

Antwort

0

Also musste ich etwas zu ihrer Sicht Code optimieren um dies zur Arbeit zu bringen. In socialauth.views sehen Sie, dass wir das Attribut FACEBOOK_APP_ID aus unserer Einstellungsdatei erhalten. Das ist gut.

im Blick socialauth/login_page.html Vorlage, gibt es einen Abschnitt:

{% if FACEBOOK_APP_ID %} 
    <div id="facebook"> 
    <p><fb:login-button perms="{{ login_button_perms }}"></fb:login-button></p> 
    </div>  
{% endif %} 

Nun, dies scheint die Variable FACEBOOK_APP_ID Zugriff werden. Natürlich erhalten wir dieses Attribut in socialauth.views. Wir haben jedoch ein Problem. Wir stellen die Variable niemals der Vorlage zur Verfügung (was manuell geschehen muss, erinnern Sie sich?). So ersetzen wir die alte login_page Ansicht:

def login_page(request): 
    return render_to_response('socialauth/login_page.html', 
          {'next': request.GET.get('next', LOGIN_REDIRECT_URL)}, 
          context_instance=RequestContext(request)) 

mit:

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)) 

Beachten Sie, dass der einzige Unterschied in der Linie 'FACEBOOK_APP_ID': FACEBOOK_APP_ID.