2012-11-08 41 views

回答

10

如果用戶將更多社交帳戶添加到他的現有(本地)帳戶,那麼最合乎邏輯的默認值將確實重定向到社交帳戶連接管理屏幕。

但是,您可以輕鬆地通過傳遞下一個參數來覆蓋默認值。看看這裏:

https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/helpers.py#L125

你會看到next參數進行檢查,回落至默認(連接)。

因此,要更改默認行爲,只需沿着下一個參數傳遞:

<a href="{% provider_login_url "openid" openid="https://www.google.com/accounts/o8/id" next="/success/url/" %}">Google</a> 

如果您使用的是默認模板,你必須在這裏補充下一個網址:

https://github.com/pennersr/django-allauth/blob/master/allauth/templates/socialaccount/connections.html#L53

+1

如果您的重定向取決於特定項目的特定知識,那麼您可以使用自定義適配器類('ACCOUNT_ADAPTER')並覆蓋'get_login_redirect_url'方法。 – pennersr

+1

在當前版本中,它是''get_connect_redirect_url''方法。 –