django-social-auth
は、認証プロセスの特定のステップでカスタム関数を挿入できるようにするパイプライン(これは試していたときにはなかったので、これは新しい機能のようです)を実装しています。 the docs here、example pipline functionを確認してください。ご自身のニーズoを応じてあなたのcustom_create_user
機能はデフォルトcreate_user
をラップ
SOCIAL_AUTH_PIPELINE = (
'social_auth.backends.pipeline.social.social_auth_user',
'social_auth.backends.pipeline.associate.associate_by_email',
'social_auth.backends.pipeline.user.get_username',
'app.pipeline.custom_create_user',
'social_auth.backends.pipeline.social.associate_user',
'social_auth.backends.pipeline.social.load_extra_data',
'social_auth.backends.pipeline.user.update_user_details'
)
とユーザー名を作成します:
だから、関数を書くことができ
from social_auth.backends.pipeline.user import create_user
def custom_create_user(request, *args, **kwargs):
user = *kwargs.get('user', None)
# Do something with username
return create_user(request, args, kwargs)
を第一に、あなたはより多くを受け入れてみてくださいする必要があります可能であればあなたの質問に答えます。人々はあなたを助けてくれるでしょう。この質問にご参加ください。 __after__彼らはfacebookで承認しましたが、そのユーザ名はDBに保存されますか? –
まさに!私は答えを受け入れるということを理解していませんでした。私は確かにより多くの答えを受け入れるだろう、私は1つの答えを受け入れる必要があると思った。ありがとうございました。 – freethrow
質問ごとに1つの回答しか受け入れることはできません。実際に正しい場合にのみ行うべきですが、問題を見つけた場合は自分の回答を受け入れることもできます。 –