2016-08-05 6 views
0

私はDjangoでソーシャルログインを構築しようとしていますが、うまくいきません。DjangoのSocioログイン

どのようにやっている:

  1. インストールのpython-社会的-AUTH
  2. はINSTALLED_APPSでこれを追加しました:

    'social.apps.django_app.default', 
    
  3. 移行したDB(エラーなしで)

  4. を追加しましたthis in urls.py:

    url('social-auth/',include('social.apps.django_app.urls', namespace='social')), 
    
  5. ガットFacebookのキーは、settings.pyにAUTHENTICATION_BACKENDSとキーにこれを追加し、:

    'social.backends.facebook.Facebook2OAuth2', 
    
  6. 追加このテンプレートへ:

    <div class="social"> 
    <ul> 
    <li class="facebook"><a href="{% url "social:begin" "facebook"%}">Sign in with Facebook</a></li> 
    </ul> 
    </div> 
    

しかし、今、私は上のクリックしたときFacebookでログインすると、テンプレートレンダリングにエラー があります: 'social'は登録された名前空間ではありません。 これは、社会がurls.pyに存在しないためです。

しかし、そのdintの作業を追加します。

さらに何をすればよいですか?ポイント6で おかげ

+0

ポイント6、これは間違っているようです。内部または外部の '' 'を' ''に置き換えてもう一度やり直すことができますか? – Brambor

+0

いいえ、は役に立ちません – sachsure

答えて

1

は、私が"social:begin"の最初の"href="を終了したときに'"があるので、あなたは、問題に実行していると思う

href="{% url 'social:begin' 'facebook'%}" 

href="{% url "social:begin" "facebook"%}" 

を置き換えますあなたはこれを行うことができます交換可能。

+0

wow..this worked! ありがとう – sachsure

+0

これはほとんどすべてのプログラミング言語にありますのでご注意ください:) – Brambor

+0

'{%url%}'タグはDjangoによって処理されるため、 hrefとタグの中で同じ引用符を使用してください。引用符を '' ''から '' ''に変更しても、読みやすくするためには違いがありません。 – Alasdair

関連する問題