コード例 #1
0
ファイル: views.py プロジェクト: v-v-d/geekshop
def login(request):
    login_form = ShopUserLoginForm(data=request.POST or None)

    next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            if 'next' in request.POST.keys():
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main:index'))

    socials = ('vk-oauth2', 'google-oauth2')

    context = {
        'title': 'login',
        'login_form': login_form,
        'next': next,
        'socials': socials,
    }
    return render(request, 'authapp/login.html', context)
コード例 #2
0
def login(request):
    title = 'вход'

    login_form = ShopUserLoginForm(data=request.POST or None)

    next = request.GET['next'] if 'next' in request.GET.keys() else ''
    # или так
    # next = request.GET('next', '')

    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            if user and user.is_active:
                auth.login(request, user)
                if 'next' in request.POST.keys():
                    return HttpResponseRedirect(request.POST['next'])
                else:
                    return HttpResponseRedirect(reverse('main'))

    content = {
        'title': title,
        'login_form': login_form,
        'next': next
    }
    return render(request, 'authapp/login.html', content)
コード例 #3
0
def user_login(request):
    next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST':
        form = ShopUserLoginForm(data=request.POST)
        if form.is_valid():
            print('форма заполнена корректно')
            username = request.POST['username']
            password = request.POST['password']
            user = authenticate(username=username, password=password)
            if user:
                login(request, user)
                print('залогинились')
                # if 'next' in request.POST.keys():
                if 'next' in request.POST.keys() and request.POST['next']:
                        return HttpResponseRedirect(request.POST['next'])
                else:
                    return HttpResponseRedirect(reverse('main:index'))
                # return HttpResponseRedirect(reverse('main:index'))

    else:
        form = ShopUserLoginForm()

    context = {
        'form': form,
        'next': next,
    }
    return render(request, 'authapp/login.html', context)
コード例 #4
0
ファイル: views.py プロジェクト: darksoul985/django
def login(request):
    title = 'вход'

    login_form = ShopUserLoginForm(data=request.POST or None)

    next = request.GET['next'] if 'next' in request.GET.keys() else ''
    print(f'next = {next}')

    if request.method == 'POST' and login_form.is_valid():
        print('первый if')
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            print('второй if')
            auth.login(request, user)
            print(request.POST)
            if 'next' in request.POST:
                print('второй if next')
                return HttpResponseRedirect(request.POST['next'])
            else:
                print('второй if без next')
                return HttpResponseRedirect(reverse('main'))

    content = {'title': title, 'login_form': login_form, 'next': next}
    print('ничего')

    return render(request, 'authapp/login.html', content)
コード例 #5
0
def login(request):
    next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST':
        form = ShopUserLoginForm(data=request.POST or None)
        username = request.POST.get('username')
        password = request.POST['password']
        # print(f'пришла заполненная форма: {username}, {password}')
        user = auth.authenticate(username=username, password=password)
        if user:
            auth.login(request, user)
            if 'next' in request.POST.keys():
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('index'))

    else:
        form = ShopUserLoginForm()

    content = {
        'form': form,
        'title': 'Log in',
        'next': next,
    }

    return render(request, 'authapp/login.html', content)
コード例 #6
0
ファイル: views.py プロジェクト: Firdos-Aliev/cakeshop
def login(request):
    if request.method == 'POST':
        form = ShopUserLoginForm(
            data=request.POST
        )  # обьект формы, которую мы создали с собвенными полями
        if form.is_valid():  # при этом данные все валидны для входа
            username = request.POST['username']  # берем данные
            password = request.POST['password']
            user = auth.authenticate(
                username=username, password=password
            )  # создаем обьект пользователя с эго парметрами (логин, пароль)
            if user and user.is_active:
                auth.login(request,
                           user,
                           backend='django.contrib.auth.backends.ModelBackend'
                           )  # авторизируемся
                return HttpResponseRedirect(
                    reverse('main:index'))  # должно перекинуть на главную
    else:
        form = ShopUserLoginForm()
    content = {
        "main_title": "авторизация",
        "button_title": "войти",
        "form": form,
    }

    return render(request, "authapp/login.html", content)
コード例 #7
0
ファイル: views.py プロジェクト: Toptimum/Django2
def login(request):
    # если не делать условие, то когда не будет next - будет ошибка
    next = request.GET['next'] if 'next' in request.GET.keys() else None
    if request.method == 'POST':
        # форма заполнится данными
        form = ShopUserLoginForm(
            data=request.POST
        )  # data используется для работы с AuthenticationForm
        if form.is_valid(
        ):  # проверили валидность введенных данных и вывод сообщений об ошибках
            username = request.POST['username']  # получаем логин и пароль
            password = request.POST['password']
            user = auth.authenticate(username=username, password=password)
            if user and user.is_active:  # активирован ли аккаунт
                next = request.POST['next'] if 'next' in request.POST.keys(
                ) else None
                auth.login(request, user)
                return HttpResponseRedirect(
                    '/' if not next else next)  # первый вариант редиректа
    else:
        form = ShopUserLoginForm()
    context = {
        'title': 'Авторизация на сайте',
        'form': form,
        'next': next,
        'main_menu': main_menu(),
        'info_pages': footer_menu(),
        'basket': get_basket(request),
    }
    return render(request, 'authapp/login.html', context)
コード例 #8
0
def login(request):
    title = 'вход'
    # POST - при отправке форм, авторизации
    # login_form = ShopUserLoginForm(data=request.POST)
    login_form = ShopUserLoginForm(data=request.POST or None)

    # http://127.0.0.1:8000/auth/login/?next=/basket/add/5/
    # next = request.GET.get('next', '') - упрощённая запись варианта ниже:
    next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        # При использовании не обязательных полей, можно себя обезопасить передав метод "get"
        # с вторым параметром "None", например "username = request.POST.get('username', None)"
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            # передали next из формы стандартной авторизации в пост запросе скрытого инпута
            if 'next' in request.POST.keys():
                # print('redirect next', request.POST['next'])
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main'))

    content = {
        'title': title,
        'login_form': login_form,
        'next': next
    }
    return render(request, 'authapp/login.html', content)
コード例 #9
0
def login(request):
    activate_message = ''
    next = request.GET['next'] if 'next' in request.GET.keys() else ''
    if request.method == 'POST':
        form = ShopUserLoginForm(data=request.POST or None)
        if form.is_valid():
            username = request.POST['username']
            password = request.POST['password']

            user = auth.authenticate(username=username, password=password)
            if user and user.is_active:
                auth.login(request, user)
                if 'next' in request.POST.keys():
                    return HttpResponseRedirect(request.POST['next'])
                else:
                    return HttpResponseRedirect(reverse('main:index'))
    else:
        if 'auth/register' in request.META.get('HTTP_REFERER', ''):
            activate_message = f'A confirmation email was sent to your e-mail \
            address. To log in, click the link in the email.'
        form = ShopUserLoginForm()
    context = {
        'title': 'Sign in the system',
        'form': form,
        'next': next,
        'activate_message': activate_message,
    }
    return render(request, 'authapp/login.html', context)
コード例 #10
0
def login(request):
    title = 'Вход'
    form = ShopUserLoginForm()
    next = request.GET['next'] if 'next' in request.GET.keys() else ''
    # Проверяем, что данные пришли методом POST
    if request.method == 'POST':
        # Получаем данные и проверяем есть ли они в request
        form = ShopUserLoginForm(data=request.POST)
        if form.is_valid():
            username = request.POST['username']
            password = request.POST['password']
            user = auth.authenticate(request,
                                     username=username,
                                     password=password)
            # Проверяем существует ли пользователь и то что он активен
            if user and user.is_active:
                # Авторизируем пользоваетля, помещаем его в request
                auth.login(request, user)
                if 'next' in request.POST.keys():
                    # Направляем пользователя на страницу с которой пришел
                    return HttpResponseRedirect(request.POST['next'])
                else:
                    return HttpResponseRedirect(reverse('main'))

    context = {
        'title': title,
        'login_form': form,
        'next': next,
    }
    return render(request, 'authapp/login.html', context)
コード例 #11
0
ファイル: views.py プロジェクト: alexvydrin/alexgeekshop
def login(request):
    title = 'вход'
    login_form = ShopUserLoginForm(data=request.POST)
    _next = request.GET['next'] if 'next' in request.GET.keys() else ''
    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            if 'next' in request.POST.keys():
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main'))

    message = ""
    message_link = ""
    if 'message_link' in request.session:
        if request.session['message_link']:
            message = f"Вам выслано сообщение на почту для подтверждения.\n"
            message += f"Так как сайт демонстрационный, то ссылку для подтверждения выведем здесь:\n"
            message_link = request.session['message_link']
            del request.session['message_link']

    content = {
        'title': title,
        'login_form': login_form,
        'next': _next,
        'message': message,
        'message_link': message_link,
    }

    return render(request, 'authapp/login.html', content)
コード例 #12
0
def login(request):
    title = 'вход'

    next_url = request.GET.get('next', '')
    print(f'next_url={next_url}')
    login_form = ShopUserLoginForm(data=request.POST)
    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            if 'next' in request.POST.keys():
                print(f'33333333333 - {request.POST.keys()}')
                return HttpResponseRedirect(request.POST['next'])
            return HttpResponseRedirect(reverse('main'))

    content = {
        'title': title,
        'login_form': login_form,
        'next': next_url,
    }

    return render(request, 'authapp/login.html', context=content)
コード例 #13
0
def login(request):
    title = 'Вход'

    login_form = ShopUserLoginForm(data=request.POST or None)

    if 'next' in request.POST.keys():
        next = request.POST['next']
    else:
        next = str(request.META.get('HTTP_REFERER'))
    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:

            auth.login(request, user)
            if 'next' in request.POST.keys():
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main'))

    content = {'title': title, 'login_form': login_form, 'next': next}

    # return redirect(return_path)

    return render(request, 'authapp/login.html', content)
コード例 #14
0
def login(request):
    title = 'вход'
    next_url = request.GET['next'] if 'next' in request.GET.keys() else ''
    login_form = ShopUserLoginForm(data=request.POST or None)
    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            if 'next' in request.POST:
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main'))

    message = ''
    if 'send_email' in request.session:
        message = 'asddssaa'
        del request.session['send_email']

    content = {
        'title': title,
        'login_form': login_form,
        'next_url': next_url,
        'message': message,
    }
    return render(request, 'authapp/login.html', content)
コード例 #15
0
def user_login(request):
    next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST':
        login_form = ShopUserLoginForm(data=request.POST)
        if login_form.is_valid():
            username = request.POST['username']
            password = request.POST['password']
            user = authenticate(username=username, password=password)
            # next = request.POST['next'] if 'next' in request.POST.keys() else ''
            if user:
                login(request, user)
                if 'next' in request.POST.keys():
                    # if 'next' in request.POST.keys() and request.POST['next']:
                    return HttpResponseRedirect(request.POST['next'])
                else:
                    return HttpResponseRedirect(reverse('main:index'))
    else:
        login_form = ShopUserLoginForm()

    context = {
        'page_title': 'login',
        'login_form': login_form,
        'next': next,
    }
    return render(request, 'authapp/login.html', context)
コード例 #16
0
def user_login(request):
    title = 'вход'

    login_form = ShopUserLoginForm(data=request.POST)
    _next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(username=username, password=password)
        if user:
            if user.is_active:
                login(request,
                      user,
                      backend='django.contrib.auth.backends.ModelBackend')
                if 'next' in request.POST.keys():
                    return HttpResponseRedirect(request.POST['next'])
                else:
                    return HttpResponseRedirect(reverse('home'))
            else:
                return render(request, 'authapp/verification_sent.html',
                              {'email': user.email})
    content = {
        'title': title,
        'login_form': login_form,
        'next': _next,
        'error_messages': login_form.error_messages
    }
    return render(request, 'authapp/login.html', content)
コード例 #17
0
ファイル: views.py プロジェクト: cappuccino23/minimalizm
def login(request):
    next = request.GET.get('next', '')

    if request.method == 'POST':

        form = ShopUserLoginForm(data=request.POST)

        if form.is_valid():
            username = request.POST['username']
            password = request.POST['password']
            user = auth.authenticate(username=username, password=password)

            if user and user.is_active:
                auth.login(request, user)
                if 'next' in request.POST:
                    return HttpResponseRedirect(request.POST['next'])

            return HttpResponseRedirect(reverse('main:index'))

    else:
        form = ShopUserLoginForm()

    context = {
        'title': 'Вход в систему',
        'form': form,
        'next': next,
    }

    return render(request, 'authapp/login.html', context)
コード例 #18
0
ファイル: views.py プロジェクト: mryurka/geekbrains_django
def login(request):

    title = 'вход'
    target_url = reverse('mainapp:main')

    if request.method == 'GET':
        target_url = request.META.get('HTTP_REFERER')
        if request.GET.get('next'):
            print(request.GET['next'])
            target_url = request.GET.get('next')

    login_form = ShopUserLoginForm(data=request.POST)

    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']
        target_url = request.POST['url']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(
                request,
                user,
                backend='django.contrib.auth.backends.ModelBackend'
            )  # Аутентификация считается успешной, если объект пользователя появился в request
            return HttpResponseRedirect(target_url)

    context = {
        'title': title,
        'login_form': login_form,
        'incoming_url': target_url
    }

    return render(request, 'authapp/login.html', context)
コード例 #19
0
ファイル: views.py プロジェクト: alyonkazz/geekshop
def login(request):
    next = request.GET['next'] if 'next' in request.GET.keys() else None

    if request.method == 'POST':
        form = ShopUserLoginForm(data=request.POST)
        if form.is_valid():
            username = request.POST['username']
            password = request.POST['password']
            user = auth.authenticate(username=username, password=password)
            if user and user.is_active:
                next = request.POST['next'] if 'next' in request.POST.keys(
                ) else None
                auth.login(request, user)
                return HttpResponseRedirect(
                    reverse('main:index') if not next else next)
    else:
        form = ShopUserLoginForm()

    context = {
        'title': 'регистрация',
        'form': form,
        'next': next,
    }

    return render(request, 'authapp/login.html', context)
コード例 #20
0
def login(request):
    # if 'next' in request.GET.keys():
    #     print(f"дальше: {request.GET['next']}")
    next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST':
        form = ShopUserLoginForm(data=request.POST)
        username = request.POST.get('username')
        password = request.POST['password']
        user = auth.authenticate(username=username, password=password)
        if user:
            auth.login(request, user)
            if 'next' in request.POST.keys():
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main'))
    else:
        form = ShopUserLoginForm()

    context = {
        'form': form,
        'next': next,
    }

    return render(request, 'authapp/login.html', context)
コード例 #21
0
def login(request):
    title = 'вход'

    login_form = ShopUserLoginForm(data=request.POST)
    next = request.GET['next'] if 'next' in request.GET.keys() else ''

    if request.method == 'POST' and login_form.is_valid():
        username = request.POST['username']
        password = request.POST['password']

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            if 'next' in request.POST.keys():
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main'))

    from_register = request.session.get('register', None)
    if from_register:
        del request.session['register']
    context = {
        'title': title,
        'login_form': login_form,
        'next': next,
        'from_register': from_register,
    }
    return render(request, 'authapp/login.html', context)
コード例 #22
0
ファイル: views.py プロジェクト: MaximTretjakov/malamute
 def post(self, request, *args, **kwargs):
     login_form = ShopUserLoginForm(data=request.POST)
     if login_form.is_valid():
         username = request.POST['username']
         password = request.POST['password']
         user = auth.authenticate(username=username, password=password)
         if user and user.is_active:
             auth.login(request, user)
             return HttpResponseRedirect(reverse('projectapp:main'))
         else:
             return HttpResponse('Invalid login')
     else:
         return HttpResponseRedirect(reverse('authapp:login'))
コード例 #23
0
def login(request):
    title = 'вход'
    login_form = ShopUserLoginForm(data=request.POST)
    if request.method == 'POST' and login_form.is_valid():
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            return HttpResponseRedirect(reverse('mainapp:main'))

    content = {'title': title, 'login_form': login_form}
    return render(request, 'authapp/login.html', content)
コード例 #24
0
ファイル: views.py プロジェクト: vrtlpilot/myamazon
def login(request):
    login_form = ShopUserLoginForm()
    if request.method == "POST":
        login_form = ShopUserLoginForm(data=request.POST)
        if login_form.is_valid():
            username = request.POST['username']
            password = request.POST['password']
            user = auth.authenticate(username=username, password=password)
            if user and user.is_active:
                auth.login(request=request, user=user)
                return HttpResponseRedirect(reverse('main'))
    title = 'Главная'
    context = {'title': title, 'login_form': login_form}
    return render(request, 'authapp/login.html', context=context)
コード例 #25
0
ファイル: views.py プロジェクト: OlegZhdanoff/django_basic
def login(request):
    if request.method == 'POST':
        form = ShopUserLoginForm(data=request.POST)
        if form.is_valid():
            username = request.POST['username']
            password = request.POST['password']
            user = auth.authenticate(username=username, password=password)
            if user and user.is_active:
                auth.login(request, user)
                return HttpResponseRedirect(reverse('mainapp:index'))
    else:
        form = ShopUserLoginForm()
    context = {'form': form}
    return render(request, 'authapp/login.html', context)
コード例 #26
0
ファイル: views.py プロジェクト: MarwinBl/django_shop
def login(request):
    login_form = ShopUserLoginForm(data=request.POST or None)
    index_page = reverse('index')
    next_page = request.GET.get('next', index_page)
    if request.method == 'POST' and login_form.is_valid():
        username, password = request.POST['username'], request.POST['password']
        user = auth.authenticate(username=username, password=password)
        auth.login(request,
                   user,
                   backend='django.contrib.auth.backends.ModelBackend')
        return redirect(request.POST.get('next', index_page))

    context = {'login_form': login_form, 'next': next_page}
    return render(request, 'authapp/login.html', context)
コード例 #27
0
def login(request):
    login_form = ShopUserLoginForm(data=request.POST)
    next_url = request.GET.get("next", "")
    if request.method == 'POST' and login_form.is_valid():
        username = request.POST.get("username")
        password = request.POST["password"]
        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user)
            if "next" in request.POST.keys():
                return HttpResponseRedirect(request.POST["next"])
            return HttpResponseRedirect(reverse('main'))
    content = {"login_form": login_form, "next": next_url}
    return render(request, 'authapp/login.html', content)
コード例 #28
0
ファイル: views.py プロジェクト: BRD69/django-market
def login(request):
    title = "вход"

    login_form = ShopUserLoginForm(data=request.POST or None)
    if request.method == "POST" and login_form.is_valid():
        username = request.POST["username"]
        password = request.POST["password"]

        user = auth.authenticate(username=username, password=password)
        if user and user.is_active:
            auth.login(request, user, backend='django.contrib.auth.backends.ModelBackend')
            return HttpResponseRedirect(reverse("main"))

    content = {"title": title, "login_form": login_form}
    return render(request, "authapp/login.html", content)
コード例 #29
0
ファイル: views.py プロジェクト: Farrukhraz/Karma-shop
def login(request):
    if request.method == "POST":
        # authenticate
        form = ShopUserLoginForm(data=request.POST)
        if form.is_valid():
            user_name = request.POST.get('username')
            password = request.POST.get("password")
            user = auth.authenticate(username=user_name, password=password)
            if user and user.is_active:
                auth.login(request, user)  # cookie creation
                return HttpResponseRedirect(reverse('main:index'))
    else:
        # render empty form
        form = ShopUserLoginForm()
    context = dict(form=form, auth_page_images=AuthPageImages.objects.all())
    return render(request, 'authapp/login.html', context=context)
コード例 #30
0
def login(request):
    if 'next' in request.GET.keys():
        next = request.GET['next']
    else:
        next = ''

    if request.method == 'POST':
        username = request.POST.get('username')
        passwd = request.POST['password']
        print(username, passwd)

        user = auth.authenticate(username=username, password=passwd)
        if user:
            auth.login(request, user)
            if 'next' in request.POST.keys():
                return HttpResponseRedirect(request.POST['next'])
            else:
                return HttpResponseRedirect(reverse('main'))

    form = ShopUserLoginForm(data=request.POST or None)
    context = {
        'form': form,
        'date_time': datetime.date.today,
        'next': next,
    }
    return render(request, 'authapp/login.html', context)