示例#1
0
文件: views.py 项目: LifeMoroz/faq
def login(request):
    """
    login page
    """
    data = {'incorrect': False, 'disabled': False,
            'active': 'login', 'noredirect': True}
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():

            user = authenticate(username=form.cleaned_data['username'],
                                password=form.cleaned_data['password'])

            if user is not None:
                if user.is_active:
                    auth_login(request, user)
                    return redirect(index)
                else:
                    data['disabled'] = True
            else:
                data['incorrect'] = True
    else:
        form = LoginForm()
    data['form'] = form
    return render(request, "login.html", data)
示例#2
0
    def post(self, request):
        form = LoginForm(request.POST)

        if form.is_valid():
            cur_user = authenticate(username=form.cleaned_data['login'],
                                    password=form.cleaned_data['password'])

            if cur_user.is_active:

                login(request, cur_user)

                return HttpResponseRedirect('/')
            else:
                response = TemplateResponse(
                    request, 'login.html', {
                        'title': 'amtrs - log in',
                        'onpage_title': 'log in',
                        'form': form,
                    })
                return response
        else:
            response = TemplateResponse(
                request, 'login.html', {
                    'title': 'amtrs - log in',
                    'onpage_title': 'log in',
                    'form': form,
                })
            return response
示例#3
0
def signin(request):
    # check if continue exists
    continue_path = request.GET.get("continue", '/')
    # if user is authenticated, then redirect him to info page
    if request.user.is_authenticated:
        context = {}
        context = add_user(request, context)
        # add a continue path for the user to go back
        context["continue"] = continue_path
        return render(request, 'already_signed_in.html', context)

    # if a user just wants to login
    if request.method == 'GET':
        form = LoginForm()
    else:  # else, if he sends some data in POST
        form = LoginForm(request.POST)  # initialize the form with POST data
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            user = authenticate(request=request,
                                username=username,
                                password=password)  # try auth
            if user is not None:  # if auth is success
                login(request, user)  # start session
                return redirect(continue_path)  #redirect to continue or to /
            else:  # else, auth gone wrong
                form.add_error(None, "Username or password is incorrect")

    return render(request, 'login.html', {'form': form})
示例#4
0
def log_in(request):
    context = init(request, 'Login')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            user = form.auth()
            login(request, user)
            return HttpResponseRedirect(request.GET['continue'])
    else:
        form = LoginForm()
    context['form'] = form
    return render(request, 'login.html', context)
示例#5
0
def login(request):
    url = get_continue(request)
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            auth.login(request, form.auth())
            return HttpResponseRedirect(url)
    else:
        form = LoginForm()
    return render(request, 'questions/login.html', {
        'form': form,
        'continue_url': url,
    })
示例#6
0
def login_view(request):
    form = LoginForm(request.POST or None)

    if request.method == "POST":
        if form.is_valid():

            username = form.cleaned_data.get('login')
            password = form.cleaned_data.get('password')

            user = authenticate(username=username, password=password)
            if user is not None:
                login(request, user)
                url_continue = resolve_url('hot')
                return redirect(url_continue)

    return render(request, 'login.html', {
        'form': form,
        'continue': resolve_url('login')
    })
示例#7
0
def login(request):
    redirect = request.GET.get('continue', reverse('questions:index'))

    if request.user.is_authenticated():
        return HttpResponseRedirect(redirect)

    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            auth.login(request, form.cleaned_data['user'])
            return HttpResponseRedirect(redirect)
    else:
        form = LoginForm()

    topMembers = UserImaged.objects.order_by('-rating').all()[:5]

    topTags = Tag.objects.get_popular_tags()

    context = {'topMembers': topMembers, 'topTags': topTags, 'form': form}
    return render(request, 'login/login.html', context)
示例#8
0
def signin(request):
    if request.user.is_authenticated:
        context = {}
        context = add_user(request, context)
        return render(request, 'already_signed_in.html', context)
    if request.method == 'GET':
        form = LoginForm()
    else:
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            user = authenticate(request=request,
                                username=username,
                                password=password)
            if user is not None:
                login(request, user)
                return redirect('/')
            else:
                form.add_error(None, "Username or password is incorrect")

    return render(request, 'login.html', {'form': form})