2017-10-16 12 views
1

を使用して、とTwitterの異なるページをDjango 1.11.5にリダイレクトしようとしています。Django Allauth facebookとtwitter pythonのための異なるログインリダイレクト2.7

import allauth.socialaccount.providers as ASP 

if ASP == 'facebook': 
    LOGIN_REDIRECT_URL = '/test/' 
else: 
    LOGIN_REDIRECT_URL = '/' 

私は異なるリンク上の異なるソーシャルメディアのURLをリダイレクトすることができる方法を知りたい:私はこのような何かを試してみましたが、それは私の場合には動作しませんでした
私のsettings.py

コードの改善を教えてください。正確に何をしたいん

https://django-allauth.readthedocs.io/en/latest/advanced.html?highlight=LOGIN_REDIRECT_URL#custom-redirects

+0

この問題の解決方法はありますか? –

+0

どこにこのコードを入れましたか?この目的のためにallauth信号を試しましたか? http://django-allauth.readthedocs.io/en/latest/signals.html – anupsabraham

+0

これは私のsettings.py –

答えて

0

あなたは公式ドキュメントに記載された方法を使用することができます。

LOGIN_REDIRECT_URLに経路を定義して、sign inメソッドまたはソーシャルアカウントタイプに従って正しいページに転送/リダイレクトする簡単な回避策を使用してください。

次いで
LOGIN_REDIRECT_URL = '/after-login-example/' 

# view for that url 
def example_view(request): 
    account = SocialAccount.objects.get(user=request.user) 
    if account.provider == "Twitter": 
     return HttpResponseRedirect(<your twitter page>) 
    elif: 
    ... 

注1:私は上記の例をテストしていないと、それはユーザが1つまたは別の方法(両方ではない)を有していることを前提とし、それでも条件場合は、このようなそれは全体的なアプローチの一例です。

注2:最初の(公式な)ものが明らかに優れた解決策です。

+0

あなたはどのような例をしてください...これは私の考えをクリアします。 –

+0

@JafferWilsonはちょうど答えを編集しました。 – dethos

+0

ユーザーが複数のソーシャルアカウントを接続した場合、これは失敗します。しかし、私はこの答えがほぼ正確だと思います。 – anupsabraham

関連する問題