2017-03-05 9 views
0

Ich sende eine Aktivierungs-E-Mail an den Benutzer mit einem Uuidd (activation_token), wenn der Benutzer auf den Link in der E-Mail klickt, bekomme ich eine eroror 404-Seite nicht gefunden.django email account activaiton

E-Mail Code

accountactivation = AccountActivation(
         email=email, 
         password=password 
        ) 
       accountactivation.save() 
     subject = 'Account Confirmation' 
      contact_message = 'please click the link to activate your account' + 'http://127.0.0.1:8000/accounts/account_activation/?activation_token=%s' %(accountactivation.activation_token) 
      from_email = settings.EMAIL_HOST_USER 
      to_email = from_email 
      send_mail(subject, 
        contact_message, 
        from_email, 
        [to_email], 
        fail_silently=False, 
        ) 

URL-Muster

url(r'^account_activation/(?P<activation_token>[0-9A-Za-z])/$', views.account_activation, name="account_activation"), 

Uuid Codebeispiel

51094a477a14-4e26a7c84bff8b63a94d 

URL im Browser

http://127.0.0.1:8000/accounts/account_activation/?id=51094a477a14-4e26a7c84bff8b63a94d/ 
+0

URL-Browser unterscheidet sich von URL-Muster '/ accounts /' – alfredo138923

+0

Sie übergeben das Token als GET-Parameter. Sollte '/ account_activation/51094a477a14-4e26a7c84bff8b63a94d /' sein –

Antwort

1

Ihr Aktivierungstoken akzeptiert keine Bindestriche und es passt nur ein einzelnes Zeichen. Es sollte sein:

(?P<activation_token>[0-9A-Za-z-]+) 

Hinweis Sie könnten es von a-z zu a-f ändern, da das Token eine UUID ist.