2017-02-01 1 views
0

예 : -allauth는 특정 연구소에 속한 Gmail 주소 만 허용 하시겠습니까?

qwe123 @pilani.bits-pilani.ac.in

난 내가 그냥 "끝 템플릿"하지만 전자 메일 주소에 존재인지 아닌지 확인할 필요가 있다고 생각 문제는 allauth 패키지에서 확인하는 부분입니다

+0

이것은 분류 되었습니까? – e4c5

+0

지정된 방법이 작동하지 않습니다. –

+0

downvotes를 끌고 싶을 때만 stackoverflow에서 "작동하지 않습니다"라는 용어를 사용하십시오. 다른 모든 sights에 대해서는 – e4c5

답변

1

내가 아는 한, 장고 allauth에서 직접 할 수있는 방법은 없습니다. 가장 좋은 방법은 user_signed_up 신호를 수신하고 필수 전자 메일 주소 형식이없는 계정을 사용하지 않도록 설정하는 것입니다.

from allauth.account.signals import user_signed_up 
from django.dispatch import receiver 

@receiver(user_signed_up) 
def after_user_signed_up(request, user): 
    if user.email.endswith('pilani.bits-pilani.ac.in'): 
     # do something for valid accounts 
    else : 
     user.is_active = False 
     user.save() 
     # raise SomeException 

주소 패턴이 두 개 이상인 경우 여러 개의 if 문이 필요하거나 허용 된 전자 메일 주소 패턴에 대한 모델을 만들 수 있습니다.

+0

이라는 오류 메시지와 같은 일이 발생했는지 설명합니다. 나는이 코드를 정확히 어디에 포함시켜야하는지 정확히 혼란 스럽습니다. –

+0

시그널 핸들러를위한 일반적인 장소는 views.py에 있지만, 역시 models.py에 들어갈 수 있습니다. 필요한 경우 자세한 정보가 필요합니다. http://stackoverflow.com/questions/40746137/post-save-signal-isnt-called/40883331#40883331 – e4c5

0

직접적인 방법은 없습니다. 그러나 확실히 간접적 인 방법은 거의 없습니다. email header을 사용하여 확인할 수 있습니다. 여기에서 이메일에 대한 기본 정보를 얻을 수 있습니다. ip address을 저장하고 특정 도메인에 필터를 사용하여 필터링 할 수 있습니다.

관련 문제