【问题标题】:Cant find facebook button using django-socialauth使用 django-social auth 找不到 facebook 按钮
【发布时间】:2010-12-08 04:49:09
【问题描述】:

我想使用一个应用程序通过 twitter、facebook、openid、yahoo、google 登录。

所以我选择了 django-socialauth

我读了这篇文章:django-socialauth-login-via-twitter-facebook-openid-yahoo-google/

但是当我下载代码并运行它时,我找不到 facebook 按钮,

我能做什么?

谢谢

这是我的演示图片:

这是作者的演示:here

【问题讨论】:

    标签: python django facebook django-socialauth


    【解决方案1】:

    所以我不得不稍微调整他们的视图代码才能让它工作。查看 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 中获得了该属性。然而,我们有一个问题。我们从不将变量暴露给模板(这必须手动完成,记得吗?)。所以,我们替换了 old login_page 视图:

    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。

    【讨论】:

      猜你喜欢
      • 2013-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 2012-02-10
      • 2012-10-21
      相关资源
      最近更新 更多