2017-03-18 2 views
0

J'utilise actuellement l'authentification sociale Python pour connecter les utilisateurs à mon application Django et afficher un didacticiel lors de la création du premier utilisateur. J'ai essayé jusqu'ici mais la demande ne fonctionne pas dans les signaux pre_save. Y a-t-il une autre façon de faire cela? EDIT: J'ai essayé le code suivant dans mes vues, mais une fois connecté, l'instruction print ne s'est jamais connectée au terminal.Création d'un didacticiel lors de la première connexion

def after_user_created(request, user, **kwargs): 
    user, created = User.objects.get_or_create(user=user) 
    if created: 
     request.session['first_login'] = True 
     print('FIRST LOGIN') 

Répondre

1

Vous ne pouvez pas le faire. Tu ne devrais pas le faire même si tu pouvais le faire. Faisons l'opération sur "demande" autant que possible sur "vue". comme ça.

def create_view(request): 
    user, created = User.objects.get_or_create(id=xxx) 
    if created: 
     request.session['first_login'] = True 

MISE À JOUR

Ajouter une solution en utilisant celui de prendre "social-app-django".

① mis settings.SOCIAL_AUTH_NEW_USER_REDIRECT_URL

NEW_USER_REDIRECT_URL=/new/user/view 

http://python-social-auth.readthedocs.io/en/latest/configuration/settings.html?highlight=NEW_USER_REDIRECT_URL#urls-options

② session de mise à jour avec une nouvelle vue de l'utilisateur.

def new_user_view(request): 
    request.session['first_login'] = True 
+0

Vérifiez les modifications ci-dessus. J'ai essayé cela, mais pour une raison quelconque, la demande ne s'est pas concrétisée car la déclaration imprimée ne s'est jamais montrée dans le terminal. – Viji123

+0

@ Viji123 Est-ce la bibliothèque que vous utilisez? https://github.com/python-social-auth/social-core –

+0

Non, j'utilise https://github.com/python-social-auth/social-app-django – Viji123