Exemple #1
0
def log_in(request):

    providers = []
    for provider in get_providers():

        # social_app속성은 provider에는 없는 속성입니다.
        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    if request.method == 'POST':
        form = LoginForm(request.POST)

        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(username=username, password=password)

        if user is not None:
            login(request, user)
            return redirect('main')

        else:
            return HttpResponse('로그인이 실패하였습니다')

    else:
        form = LoginForm()

    return render(request, 'accounts/login.html', {
        'form': form,
        'providers': providers
    })
Exemple #2
0
def login(request):
    providers = []
    user = get_user_model()
    state = {}

    for provider in get_providers():
        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    if request.method == "POST":
        form = LoginForm(request, data=request.POST)
        if form.is_valid():
            auth_login(request, user)
            state['result'] = "success"
            return HttpResponse(json.dumps(state),
                                content_type="application/json")
        else:
            return render(request, 'accounts/login_modal_error.html', {
                'form': form,
            })
    else:
        form = LoginForm(request)
    return render(request, 'accounts/login.html', {
        'providers': providers,
        'form': form
    })
Exemple #3
0
def login(request):
    providers = []

    for provider in get_providers():

        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id, sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    ip = get_ip(request)
    g = GeoIP2()
    print(ip)
    if ip is not None and ip is '127.0.0.1':

        print(g.city('218.85.133.23'))
    else:
        print('local or no ip')
        

    return auth_login(request,
                      authentication_form=LoginForm,
                      template_name='accounts/login_form.html',
                      extra_context={'providers': providers})
Exemple #4
0
def login(request):
    providers = []
    for provider in get_providers():
        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)
    return render(request, 'accounts/login_form.html',
                  {'providers': providers})
Exemple #5
0
def login(request):
    providers = []
    for provider in get_providers():
        try:
            provider.social_app = SocialApp.objects.get(provider = provider.id, sites = settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    return auth_login2(request,
        template_name = 'accounts/login.html',
        extra_context = {'providers' : providers})
Exemple #6
0
def indexView(request):
    providers = []

    for provider in get_providers():
        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id, sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    return render(request, 'allauthTemplates/index.html', {
        'providers': providers,
    })
Exemple #7
0
def login(request):
    provider_list = []
    for provider in get_providers():
        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id, sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        provider_list.append(provider)

    return auth_login(request, authentication_form=LoginForm,
            extra_context={
                'provider_list': provider_list,
            })
Exemple #8
0
def login(request):
    settings.LOGIN_REDIRECT_URL = '/accounts/error/'
    providers = []
    for provider in get_providers():

        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)
    return LoginView.as_view(template_name='accounts/login_form.html',
                             extra_context={'providers': providers})(request)
Exemple #9
0
def login(request):
    providers = []
    for provider in get_providers():
        # social_app속성은 provider에는 없는 속성입니다.
        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id, sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    return auth_login(request,
        # authentication_form=LoginForm,
        template_name='accounts/login_form.html',
        extra_context={'providers': providers})
Exemple #10
0
def login(request):
    providers = []
    for provider in get_providers():  # settings/INSTALLED_APPS 내에서 활성화된 목록
        try:
            # 실제 Providers 별 Client id/secret 등록 여부 확인
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    return auth_login(request,
                      authentication_form=LoginForm,
                      template_name='accounts/login_form.html',
                      extra_context={'providers': providers})
Exemple #11
0
def singupsite(request):
    providers = []
    for provider in get_providers():  # settings/INSTALLED_APPS 내에서 활성화된 목록
        # social_app속성은 provider에는 없는 속성입니다.
        try:
            # 실제 provider 별 Client id/secret 이 등록이 되어 있는가?
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    return auth_login(request,
                      template_name='accounts/singupsite.html',
                      extra_context={'providers': providers})
Exemple #12
0
def login(request):
    providers = []
    for provider in get_providers(
    ):  # login providers(naver, google, facebook...)을 가지고온다
        # social_app 속성은 커스텀 속성
        try:
            # 각 provider 별로 client ID와 SecretKey가 등록이 되어 있는지
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    return auth_login(request,
                      authentication_form=LoginForm,
                      template_name=('accounts/login_form.html'),
                      extra_context={'providers': providers})  # 인자 전달
Exemple #13
0
def login(request):
    provider_list = []

    for provider in get_providers():
        try:
            # social_app속성은 provider에는 없는 속성입니다. 그래서 다음과 같이 커스텀 속성을 정의해봤습니다.
            # 세팅된 Provider별 설정현황을 social\_app 속성으로 지정해보겠습니다.
            provider.social_app = SocialApp.objects.get(provider=provider.id, sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            # Provider 설정이 없을 경우 .social_app을 None으로 설정
            provider.social_app = None
        provider_list.append(provider)

    return auth_login(request, authentication_form=LoginForm,
            extra_context={
                'provider_list': provider_list,
            })
Exemple #14
0
def signup(request):

    providers = []
    for provider in get_providers():

        # social_app속성은 provider에는 없는 속성입니다.
        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    if request.method == 'POST':
        user_form = UserForm(request.POST)
        profile_form = ProfileForm(request.POST)

        print(user_form.is_valid())
        print(profile_form.is_valid())

        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save(commit=False)
            user.set_password(user_form.cleaned_data['password'])
            user.save()

            obj = User.objects.get(username=user_form.cleaned_data['username'])
            profile = Profile.objects.get(user=obj)
            profile.contact = profile_form.cleaned_data['contact']
            profile.save()

            messages.success(request, '회원가입이 완료되었습니다.')

            return redirect('log_in')

    else:
        user_form = UserForm()
        profile_form = ProfileForm()

    return render(
        request, 'accounts/signup.html', {
            'user_form': user_form,
            'profile_form': profile_form,
            'providers': providers
        })
Exemple #15
0
def login(request):
    providers = []

    # return에 들어갈 providers list 값을 만들어 주는 과정
    for provider in get_providers(
    ):  # settings.py/INSTALLED_APPS 내에서 활성화된 providers 목록을 가지고옴. providers.facebook , providers.kakao, providers.naver
        try:
            # 실제 Provider별 Client id/secret 이 등록이 되어 있는가?
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)

    # django lovin view 에 넘길 값들 정의
    return auth_login(request,
                      authentication_form=LoginForm,
                      template_name='accounts/login_form.html',
                      extra_context={'providers': providers})
Exemple #16
0
def get_social_providers():
    return get_providers()
Exemple #17
0
def socialaccount_providers(context):
    request = context['request']
    providers = socialaccount.get_providers()
    if providers:
        return {p: p.get_login_url(request) for p in providers}
    return None
def get_providers():
    return sorted(socialaccount.get_providers(), key=lambda x: x.id)