示例#1
0
def register(request):
    if request.method == "POST":
        username = request.POST["username"]
        email = request.POST["email"]
        first_name = request.POST["first_name"]
        last_name = request.POST["last_name"]

        # Ensure password matches confirmation password entered
        password = request.POST["password"]
        confirmation = request.POST["confirmation"]
        if password != confirmation:
            return render(request, "base/auth/register.html",
                          {"message": "Passwords do not match."})

        # Attempt to create new user
        try:
            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
        except IntegrityError:
            return render(request, "base/auth/register.html")
        my_login(request, user)
        messages.success(request, f'Logged in as {user.username}')
        return HttpResponseRedirect(reverse("index"))
    else:
        return render(request, "base/auth/register.html")
示例#2
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     username = request.POST.get('username', "")
     password = request.POST.get('password', "")
     if login_form.is_valid():
         user = authenticate(username=username, password=password)
         if user is not None:
             if user.is_active:
                 my_login(request, user)
                 return HttpResponseRedirect('/')
             else:
                 data = {'message': '用户未激活', 'login_form': login_form}
                 return render(request, auth_tpl_path + 'login.html', data)
         else:
             data = {
                 'message': '用户名或者密码出错',
                 'login_form': login_form,
                 'username': username,
                 'password': password
             }
             return render(request, auth_tpl_path + 'login.html', data)
     else:
         data = {
             'message': '未通过用户名或密码格式验证',
             'login_form': login_form,
             'username': username,
             'password': password,
             'site': site,
         }
         return render(request, auth_tpl_path + 'login.html', data)
示例#3
0
文件: views.py 项目: hedge0207/django
def login(request):
    if request.method == "POST":
        form = AuthenticationForm(request, request.POST)
        print(request.POST)
        if form.is_valid():
            my_login(request, form.get_user())
            return redirect('memories:index')
    else:
        form = AuthenticationForm()
    context = {'form': form}
    return render(request, 'accounts/form.html', context)
示例#4
0
def account_activate(request, uidb64, token):
    try:
        uid = urlsafe_base64_decode(uidb64).decode()
        user = User.objects.get(pk=uid)
    except (TypeError, ValueError, OverflowError, User.DoesNotExist):
        user = None
    if user is not None and account_activation_token.check_token(user, token):
        user.is_active = True
        user.save()
        my_login(request, user)
        return HttpResponse(
            '<span>Thank you for your email confirmation. Now you can <a href="/login/">login</a> your account.</span>'
        )
    return HttpResponse('Activation link is invalid!')
示例#5
0
def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_superuser = True
            user.set_password(form.cleaned_data["password1"])
            user.save()
            my_login(request, user)
            request.session.set_expiry(300)
            return redirect("/")
    else:
        form = SignUpForm()
    return render(request, 'registration/signup.html', {'form': form})
示例#6
0
def create_delivery_person(request):
    if request.method == 'POST':
        form = DeliveryPersonForm(request.POST)
        if form.is_valid():
            delivery_man = form.save(commit=False)
            delivery_man.set_password(form.cleaned_data["password1"])
            delivery_man.save()
            group = Group.objects.get(name='DeliveryPersons')
            delivery_man.groups.add(group)
            my_login(request, delivery_man)
            messages.success(request, 'Nouveau Livreur Cree!')
            return redirect('list')
    else:
        form = DeliveryPersonForm()
    return render(request, 'registration/delivery_person_create.html',
                  {'form': form})
def login(request):
    if not request.user.is_authenticated:
        if request.method == "POST":
            fm = AuthenticationForm(request=request, data=request.POST)
            if fm.is_valid():
                uname = fm.cleaned_data['username']
                upass = fm.cleaned_data['password']
                user = authenticate(username=uname, password=upass)
                if user is not None:
                    my_login(request, user)
                    messages.success(request, "Logged in Successfully")
                    return HttpResponseRedirect('/profile/')
        else:
            fm = AuthenticationForm()
        return render(request, "myapp/login.html", {'form': fm})
    else:
        return HttpResponseRedirect('/profile/')
示例#8
0
def login(request):
    if request.method == "POST":

        # Attempt to sign user in
        username = request.POST["username"]
        password = request.POST["password"]
        user = authenticate(request, username=username, password=password)

        # Check if authentication successful
        if user is not None:
            my_login(request, user)
            return HttpResponseRedirect(reverse("index"))
        else:
            messages.error(request, 'Invalid username and/or password.')
            return render(request, "base/auth/login.html")
    else:
        return render(request, "base/auth/login.html")
示例#9
0
def login(request):
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = form.get_user()
            my_login(request, user)
            request.session.set_expiry(300)
            redirect_to = request.POST.get("next", "")
            url_is_safe = is_safe_url(redirect_to, "")
            if redirect_to and url_is_safe:
                return redirect(redirect_to)
            else:
                return redirect("/")
    else:
        form = LoginForm()
    return render(request, 'registration/login.html', {
        'form': form,
        "next": request.GET.get("next", "")
    })
示例#10
0
def signup(request):
    context = dict()

    if request.method == "POST":
        #회원가입 프로세스
        save_form = UserCreationForm(request.POST)
        # profile_form = ProfileForm(request.POST)

        # print('save_form', save_form)

        # print('profile_form', profile_form)

        if save_form.is_valid():
            save_form.save()

            ##회원가입후에 자동 로그인이 되는 프로세스
            user = authenticate(username=save_form.cleaned_data['username'],
                                password=save_form.cleaned_data['password1'])

            my_login(request, user)

            # get_profile.nickname = profile_form.cleaned_data['nickname']
            # get_profile.location = profile_form.cleaned_data['location']
            # get_profile.age = profile_form.cleaned_data['age']
            # get_profile = mypage.objects.get(user=request.user)

            # tmp_profile = profile_form.save(commit=False)
            # tmp_profile.user = user #authenticate 성공한 user를 바로넣자
            # get_profile.save()

            return redirect('create_mypage')

        else:

            context['user_form'] = save_form
            return render(request, 'registration/signup.html', context)
    else:
        user_form = UserCreationForm()
        context['user_form'] = user_form
        # profile_form = ProfileForm()
        context['profile_form'] = ProfileForm()
        return render(request, 'registration/signup.html', context)