Example #1
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            return redirect('posts:post-list')
    else:
        form = LoginForm()

    login_base_url = 'https://nid.naver.com/oauth2.0/authorize'
    login_params = {
        'response_type': 'code',
        'client_id': 'vlffjTerqGRY684xV6_O',
        'redirect_uri': 'http://localhost:8000/members/naver-login/',
        'state': 'RANDOM_STATE',
    }
    login_url = '{base}?{params}'.format(
        base=login_base_url,
        params='&'.join(
            [f'{key}={value}' for key, value in login_params.items()]))
    context = {
        'form': form,
        'login_url': login_url,
    }
    return render(request, 'members/login.html', context)
Example #2
0
def log_in(request):
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            login_form.login(request)
            return redirect('chat:index')
        else:
            return HttpResponse('Login credential invalid')
    else:
        login_form = LoginForm()
    context = {
        'login_form': login_form,
    }
    return render(request, 'member/login.html', context)
Example #3
0
def user_login(request):
    next_url = request.GET.get('next')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            if next_url:
                return redirect(next_url)
            return redirect('post:post_list')
    else:
        form = LoginForm()
    context = {
        'login_form': form,
        'facebook_app_id': settings.FACEBOOK_APP_ID,
        'scope_fields': settings.FACEBOOK_SCOPE['scope'],
    }
    return render(request, 'member/login.html', context)
Example #4
0
def login(request):
    # if 'HTTP_REFERER' not in request.GET:

    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            pk = request.GET["post_pk"]
            # 로그아웃 상태로 댓글을 달았을 때, 로그인이 성공하면 댓글 생성
            if 'comment' in request.GET:
                comment = request.GET["comment"]
                if comment:
                    post = Post.objects.get(pk=pk)
                    PostComment.objects.create(
                        post=post,
                        author=User.objects.get(username=form.cleaned_data['username']),
                        content=comment,
                    )
            url = request.GET['url'] + f'#post.{pk}'
            return redirect(url) if url else redirect('main')
    else:
        form = LoginForm()
    # login view get 호출시 기본 값
    context = {
        'form': form,
        'url': request.META['HTTP_REFERER'],    # login 을 호출한 페이지 url
        'post_pk': '',
        'comment': '',
        'facebook_app_id': settings.FACEBOOK_APP_ID,
        'facebook_scope': settings.FACEBOOK_SCOPE,
    }
    # (비로그인 댓글 작성시 실행)
    # url get parameter 에 해당 값이 있으면 context 에 넣어 줌
    for param in ['url', 'post_pk', 'comment']:
        if param in request.GET:
            context[param] = request.GET[param]
    return render(request, 'member/login.html', context)