예제 #1
0
def Login(request):
    '''
	用户登录界面逻辑实现
	author:陈思齐
	:param request:
	:return:
	'''
    context = {}
    errors = ''
    if request.method == "GET":
        form = LoginForm
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            user = authenticate(username=email, password=password)
            if user and user.is_active:
                login(request, user)
                if request.POST["referer"] and 'register' not in request.POST[
                        "referer"]:
                    return redirect(request.POST["referer"])
                else:
                    return redirect(to='home')

    if "HTTP_REFERER" in request.META:
        context["referer"] = request.META["HTTP_REFERER"]
    else:
        context["referer"] = ""
    context['form'] = form
    context['errors'] = errors
    return render(request, "login.html", context)
예제 #2
0
파일: views.py 프로젝트: JD99/mysite1
def login_views(request):
    if not request.user.is_authenticated():
        if request.method == 'POST':
            form = LoginForm(request.POST)
            if form.is_valid():
                if form.get_user():
                    login(request, form.get_user())
                    return HttpResponseRedirect('/')
        else:
            form = LoginForm()
        return render_to_response('blog/api_login.html', {'form': form},context_instance=RequestContext(request))
    else:
        #синхронизация я с бд
        #sync_mail_mailtag(request)
        #количество страниц обработка
        data_count = Mail.objects.all().count()
        max_page = data_count / mail_page
        max_page=int(ceil(max_page))
        #категории для фильтра
        all_filtr = Tags.objects.all()
        #данные из бд
        data = Mail.objects.all()
        data = data.order_by('-mail_numb')
        #разбиение на страницы
        paginator = Paginator(data, int(mail_page))
        page1 = paginator.page(1)   

        return render_to_response('blog/api_index.html', {"data": page1.object_list, "page": '1', "domain_name": domain_name, 'max_page': max_page, 'all_filtr': all_filtr,'mail_page':int(mail_page),'data_count':data_count,},context_instance=RequestContext(request))
예제 #3
0
def login(request, template="login.html"):
    if request.method == "POST":
        if request.POST["type"] == "register":
            register_form = RegisterationForm(request.POST)
            login_form = AuthenticationForm()
            if register_form.is_valid():
                user = register_form.save(commit=False)
                user.email = register_form.cleaned_data.get("email")
                user.save()
                profile = Profile.objects.create(user=user)
                send_mail_with_template(u"Selamlar efendim!", user.email, "mails/wellcome.html", {"user": user})
                send_mail_with_template(u"Yeni üye kaydı!", settings.MY_MAIL, "mails/wellcome.html", {"user": user})
                user.backend = "django.contrib.auth.backends.ModelBackend"
                login_func(request, user)
                return redirect("home")
        else:
            login_form = AuthenticationForm(data=request.POST)
            register_form = RegisterationForm()
            if login_form.is_valid():
                login_func(request, login_form.get_user())
                return redirect("home")
    else:
        register_form = RegisterationForm()
        login_form = AuthenticationForm()

    ctx = {"register_form": register_form, "login_form": login_form}

    return render(request, template, ctx)
예제 #4
0
파일: views.py 프로젝트: xxxt/blog
def login(request):
    """用户登录"""
    hint = ''
    backurl = request.GET.get('backurl', 'blog:index')
    if request.method == 'POST':
        backurl = request.POST['backurl']
        form = LoginForm(request.POST)
        if form.is_valid():
            code_from_session = request.session.get('captcha_code')
            code_from_user = form.cleaned_data['code']
            if code_from_session.lower() == code_from_user.lower():
                username = form.cleaned_data['username']
                password = form.cleaned_data['password']
                user = User.objects.filter(username=username,
                                           password=password).first()
                if user:
                    request.session['userid'] = user.no
                    request.session['username'] = user.username
                    return redirect(backurl)
                else:
                    hint = '用户名或密码错误'
            else:
                hint = '请输入正确的验证码'
        else:
            hint = '请输入有效的登录信息'
    return render(request, 'blog/login.html', {
        'hint': hint,
        'backurl': backurl
    })
예제 #5
0
def do_login(request):
    try:
        if request.method == 'POST':
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                # 登录
                username = login_form.cleaned_data['username']
                password = login_form.cleaned_data['password']
                user = authenticate(username=username, password=password)
                if user is not None:
                    user.backend = 'django.contrib.auth.backends.ModelBackend'  # 指定默认登录验证方式
                    login(request, user)
                else:
                    return render(request, 'failure.html',
                                  {'reason': '登录验证失败'})
                return redirect(request.POST.get('source_url'))
            else:
                return render(request, 'failure.html',
                              {'reason': login_form.errors})
        else:
            login_form = LoginForm()
    except Exception as e:
        logger.error(e)

    return render(request, 'login.html', locals())
예제 #6
0
def login_view(request):  # Logins in user if request is valid.
    if request.user.is_authenticated:
        return redirect(reverse('show_all'))

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

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

            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect(reverse('show_all'))
                else:
                    form.add_error('username',
                                   'This account has been disabled.')
            else:
                form.add_error('username', 'Login failed')
    else:
        form = LoginForm()

    return render(request, 'registration/login.html', {'form': form})
예제 #7
0
def login(request,template):
	if request.is_ajax():
		if request.method=="POST":
			if 'username' in request.POST and 'password' in request.POST:
				username=request.POST['username']
				password=request.POST['password']

				form=LoginForm({'username':username,'password':password})
				if form.is_valid():
					#return JsonResponse({'data':True})
					username=form.cleaned_data['username']
					password=form.cleaned_data['password']
					#return JsonResponse({'data':True})
					data=list(Ouser.objects.filter(username=username,password=password).values('id','username','nickname','img'))
					if data:
						#存储session
						data[0]['img']=Img.objects.filter(id=9).values('name')[0]['name']
						request.session[ip_str(request.META['REMOTE_ADDR'])]=data[0]
						#data[0]['username']
						return JsonResponse({'data':data[0]})
					else:
						return JsonResponse({'data':False})

			elif 'del' in request.POST:
				del request.session[ip_str(request.META['REMOTE_ADDR'])]
				return JsonResponse({'data':True})
	else:
		return render_to_response(template)
예제 #8
0
def login(request: HttpRequest):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect("/blog/")
    else:
        form = LoginForm()

    return render(request, "blog/login.html", {"form": form})
def login_function_base_view(request):
	if request.method == 'GET':
		form = LoginForm()
		return render(request, 'login.html', {'form': form})
	else:
		form = LoginForm(request.POST)
		if form.is_valid():
			return redirect('/products')
		else:
			return render(request, 'login.html', {'form': form})
예제 #10
0
def login(request):
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user = login_form.cleaned_data['user']
            auth.login(request, user)
            return redirect(request.GET.get('from'), reverse('blog:index'))
    else:
        login_form = LoginForm()
    context = {'login_form': login_form}
    return render(request, 'blog/login.html', context)
예제 #11
0
def login(request):
    form = LoginForm(request.POST)
    context = {'form': form}
    if form.is_valid():
        username = request.POST["username"]
        password = request.POST["password"]
        user = auth.authenticate(username=username, password=password)
        if user is not None:
            auth.login(request, user)
            return redirect('home')
    return render(request, 'blog/login.html', context)
예제 #12
0
파일: views.py 프로젝트: Marilyna/blog
def sign_in(request):
    nexturl = request.GET.get('next') or 'index'
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            login(request, form.user)
            return redirect(request.POST.get('next'))
    else:
        form = LoginForm()

    context = {'form': form, 'next': nexturl}
    return render(request, 'login.html', context)
예제 #13
0
 def post(self, request):
     form = LoginForm(data=request.POST)
     if form.is_valid():
         user = authenticate(
             request,
             username=form.cleaned_data["username"],
             password=form.cleaned_data["password"],
         )
         if user:
             login(request, user)
             return HttpResponseRedirect(reverse("posts"))
     return render(request, "blog/login_page.html", {"login_form": form})
예제 #14
0
def login(request):
	context = RequestContext(request)
	if request.method == 'POST':
		form = LoginForm(request.POST, request.FILES)
		if form.is_valid(): # is the form valid
			form.save(commit=True) # yes and save to db
			return redirect(index)
		else:
			print form.errors  # no, display error to end user
	else:
		form = LoginForm()
	return render_to_response('blog/login.html', {'form': form}, context)
예제 #15
0
def login_page(request):
    form = LoginForm(request.POST or None)
    context = {
    'form':form
    }
    if form.is_valid():
        username = form.cleaned_data.get("username")
        password = form.cleaned_data.get("password")
        user     = authenticate(request, username=username,password=password)
        if user is not None:
            login(request,user)
            return redirect("/")
    return render(request,"login_page.html", context)
예제 #16
0
def login_view(request):
    form = LoginForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data.get('username')
        password = form.cleaned_data.get('password')
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect(reverse('mybloglist'))
        else:
            return redirect(reverse('login_error'))
    context = {"form": form}
    return render(request, 'blog/login.html', context)
예제 #17
0
 def post(self, request):
     """登录表单提交处理,用户名密码匹配跳转到首页,否则回到登录页显示错误"""
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         data = login_form.cleaned_data
         name = data.get('name')
         password = data.get('password')
         user = User.objects.filter(name=name).first()
         if user and check_password(password, user.password):
             request.session['user'] = user.to_dict()
             return redirect(reverse('blog:index'))
         else:
             login_form.add_error(forms.NON_FIELD_ERRORS, '用户名或密码错误')
     return render(request, 'login.html', {'form': login_form})
예제 #18
0
def slide_login(request):
    login_obj = LoginForm()
    if request.method == "POST":
        res = {'code': 0}
        gt = GeetestLib(pc_geetest_id, pc_geetest_key)
        challenge = request.POST.get(gt.FN_CHALLENGE, '')
        validate = request.POST.get(gt.FN_VALIDATE, '')
        seccode = request.POST.get(gt.FN_SECCODE, '')
        status = request.session[gt.GT_STATUS_SESSION_KEY]
        user_id = request.session["user_id"]

        username = request.POST.get('username')
        pwd = request.POST.get('password')

        if status:
            result = gt.success_validate(challenge, validate, seccode, user_id)
        else:
            result = gt.failback_validate(challenge, validate, seccode)

        if result:
            user = auth.authenticate(username=username, password=pwd)
            login_obj = LoginForm(request.POST)
            login_obj.is_valid()
            if user:
                # 用户名和密码正确
                auth.login(request, user)
            else:
                # 用户名和密码错误
                res['code'] = 1
                res['err_msg'] = '用户名或者密码错误'
        else:
            # 滑动验证码验证失败
            res = {'code': 2}
            res = {'err_msg': '验证码不正确'}
        # result = {"status": "success"} if result else {"status": "fail"}
        return JsonResponse(res)
    return render(request, 'login.html', {'login_obj': login_obj})
예제 #19
0
def loginform(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    cat = CATEGORY.objects.all()
                    CHOICES = []
                    for c in cat:
                        CHOICES.append((c.id, c.category_name))
                    products_obj = PRODUCT.objects.filter(category_id_id=1, status=1).exclude(owner=request.user.id)
                    products = []
                    for p in products_obj:
                        products.append(p)
                    info_dict = {"products": products, "error": "", "choices": tuple(CHOICES)}
                    return render(request, "blog/products_in_category.html", info_dict)
                # return HttpResponseRedirect(reverse('products_in_category',kwargs={'category_id':1})
                else:
                    msg = "Dear ", user.get_full_name(), ", your account is not active!"
                    form = LoginForm()
                    return render(request, "blog/login.html", {"error": "Invalid Credentials", "form": form})
            else:
                msg = "hello"
                form = LoginForm()
                return render(request, "blog/login.html", {"error": "Invalid Credentials", "form": form})
        else:
            form = LoginForm()
            return render(request, "blog/login.html", {"error": "Invalid Credentials", "form": form})

    elif request.user and request.user.id is not None:
        # msg = 'hell'
        # profile = UserProfile.objects.filter(user_id=request.user.id)
        if UserProfile.objects.filter(user_id=request.user.id).exists():
            msg = "helolo"

        else:
            profile1 = UserProfile.objects.create(user_id=request.user.id)
            profile1.save()
        # profile = UserProfile.objects.create(user_id=request.user.id, card_no='76868768', exp_date=0000-00-00, cvv='111')
        # profile.save();
        return HttpResponseRedirect(reverse("account_management"))
    else:
        form = LoginForm()
        context = RequestContext(request, {"request": request, "user": request.user, "form": form})
        return render_to_response("blog/login.html", context_instance=context)
예제 #20
0
def connexion(request):
    error = False
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user:
                login(request, user)
            else:
                error = True
    else:
        form = LoginForm()
    return render(request, 'blog/login.html', locals())
예제 #21
0
파일: views.py 프로젝트: hwddzx/blog
 def post(self, request):
     # 接收参数
     data = request.POST
     form = LoginForm(data)
     if form.is_valid():
         # 合法
         user = form.cleaned_data['user']
         # 保存session
         request.session['ID'] = user.pk
         request.session['phone'] = user.phone
         # 登录成功跳转到主页
         return redirect('blog:主页')
     else:
         # 不合法
         return render(request, 'blog/login.html', context=form.errors)
예제 #22
0
def login_u(request):

	if request.method == 'POST':
		uf = LoginForm(request.POST)
		if uf.is_valid():
			username = uf.cleaned_data['username']
			password = uf.cleaned_data['password']
			user = authenticate(username=username,password=password)
			if user:
				# request.session['user'] = user
				login(request, user)
				return HttpResponseRedirect('/index/')
			return HttpResponse('no')
	else:
		uf = LoginForm()
	return render(request,'register.html',{'uf':uf})
	def post(self, request):
		form = LoginForm(request.POST)
		if form.is_valid():
			username = form.cleaned_data['username']
			password = form.cleaned_data['password']
			user = django_models.User.objects.filter(username=username).first()
			if user:
				if user.check_password(password):
					login(request, user)
					return redirect('/user-profile')
				else:
					return render(request, 'login.html', {'form': form, 'error': 'Invalid Creds'})
			else:
				return render(request, 'login.html', {'form': form, 'error': 'User not found'})
		else:
			return render(request, 'login.html', {'form': form})
예제 #24
0
def login(request):
    if request.method == 'GET':
        return render(request, 'ad/login.html')
    else:
        form = LoginForm(request.POST)
        if form.is_valid():
            username = request.POST.get('username', '')
            password = request.POST.get('password', '')
            user = auth.authenticate(username=username, password=password)
            if user is not None and user.is_active:
                auth.login(request, user)
                return HttpResponse('success')
            else:
                return HttpResponse('password is wrong')
        else:
            return HttpResponse('user does not exist')
예제 #25
0
def login(request):
    categories = Category.objects.all()

    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = auth.authenticate(username=username, password=password)
            if user:
                auth.login(request, user)
            return redirect('/')

    data = {'categories': categories, 'form': LoginForm}

    return render(request, 'login.html', context=data)
예제 #26
0
파일: views.py 프로젝트: SamuelMartens/blog
def home_page(request,option_mes='',page=1):
    #Реализация поиска
    if 'search_input' in request.GET and request.GET['search_input']!='':
        if request.GET.get('search_by')=='all':
            posts=Post.objects.filter(Q(author__username__icontains=request.GET['search_input'])| Q(theme__icontains=request.GET['search_input']))
        elif request.GET.get('search_by')=='theme':
            posts=Post.objects.filter(theme__icontains=request.GET['search_input'])
        else:
             posts=Post.objects.filter(author__username__icontains=request.GET['search_input'])
        if len(posts)==0:
            option_mes='There is no result of this search'
        return render_to_response('base.html',{'option_mes':option_mes,'posts':posts},context_instance=RequestContext(request))
    else:
        posts=Post.objects.all()

    #Реализация счетсчика страниц
    page=int(page)
    page_size=5         #Переменная отвечающая за кол-во постов на одной страничке
    max_view_range=len(posts)//page_size if len(posts)%page_size==0 else len(posts)//page_size+1
    if max_view_range<6:
        view_range=(1,max_view_range+1)
    else:
        view_range=(1,6)          #Отражает диапазон счетчика страниц
    if page>view_range[1] or view_range[1]==(page+1) and max_view_range>6:
        view_range=((page-2),(page+3))
        if view_range[1]>max_view_range:
            view_range=(max_view_range-4,max_view_range+1)
    if page>max_view_range:raise Http404
    view_range=range(*view_range)
    posts=posts[((page-1)*page_size):(page*page_size)]

    #Реализация логина
    if request.method=='POST' and ('log_form' in request.POST) and request.session.test_cookie_worked():
        log_form=LoginForm(request.POST)
        if log_form.is_valid():
            user=log_form.log_in(request)
            if user is None:
                option_mes='Wrong username or password'
            else:
                option_mes='You have succesfully log in!'
        else:
            option_mes='No cookies allowed'
    if 'log_out_form' in request.GET:
        auth.logout(request)
        option_mes='You have loged out'
    request.session.set_test_cookie()
    return render_to_response('base.html',{'option_mes':option_mes,'posts':posts,'view_range':view_range,'current_page':page},context_instance=RequestContext(request))
예제 #27
0
def user_login(request):
    if not request.user.is_authenticated:
        if request.method == "POST":
            form = LoginForm(request=request, data=request.POST)
            if form.is_valid():
                uname = form.cleaned_data['username']
                upass = form.cleaned_data['password']
                user = authenticate(username=uname, password=upass)
                if user is not None:
                    login(request, user)
                    messages.success(request, 'Logged in Successfully !!')
                    return HttpResponseRedirect('/blog/dashboard/')
        else:
            form = LoginForm()
        return render(request, 'blog/login.html', {'form': form})
    else:
        return HttpResponseRedirect('/blog/dashboard/')
예제 #28
0
def login(request):
    """
    Do user log in
    """
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = auth.authenticate(username=data['user'], password=data['password'])
            if user is not None and user.is_active:
                auth.login(request, user)
                return HttpResponseRedirect('/adminindex/')
            else:
                return render_to_response('login.html', {'form':form}, context_instance=RequestContext(request, processors=[new_blog, blog_group]))
    else:
        form = LoginForm()
    return render_to_response('login.html', {'form':form}, context_instance=RequestContext(request, processors=[new_blog, blog_group]))
예제 #29
0
def login(request):  
    if request.method == 'GET':  
        form = LoginForm()  
        return render_to_response('login.html', RequestContext(request, {'form': form,}))  
    else:  
        form = LoginForm(request.POST)  
        if form.is_valid():  
            username = request.POST.get('username', '')  
            password = request.POST.get('password', '')  
            user = auth.authenticate(username=username, password=password)  
            if user is not None and user.is_active:  
                auth.login(request, user)  
                return render_to_response('admin_bloglist.html', RequestContext(request))  
            else:  
                return render_to_response('login.html', RequestContext(request, {'form': form,'password_is_wrong':True}))  
        else:  
            return render_to_response('login.html', RequestContext(request, {'form': form,}))  
예제 #30
0
def login_view(request, *args, **kwargs):
    if request.user.is_active is True:
        return redirect('blog:profile')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user is not None and user.is_authenticated():
                login(request, user)
                return redirect('blog:profile')
            else:
                return redirect('blog:login')
    else:
        form = LoginForm()
    return render(request, 'login.html', locals())
예제 #31
0
def loginuser(request):
    if not request.user.is_authenticated:
        print(request.user)
        form = LoginForm()
        if request.method == "POST":
            form = LoginForm(request, data=request.POST)
            if form.is_valid():
                un = form.cleaned_data.get('username')
                pwd = form.cleaned_data.get('password')
                user = authenticate(request, username=un, password=pwd)
                if user is not None:
                    login(request, user=user)
                    return HttpResponseRedirect('/dashboard/')
        context = {}
        context['form'] = form
        return render(request, 'blog/login.html', context)
    else:
        return HttpResponseRedirect('/dashboard/')
예제 #32
0
def login(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user is not None:
                auth_login(request, user)
                return HttpResponseRedirect('/')
            else:
                return HttpResponseRedirect('/login')
    else:
        form = LoginForm()
    return render(request, 'login.html', {'form': form})
예제 #33
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            pw = form.cleaned_data['password']
            user = authenticate(username=username, password=pw)
            if user is not None:
                login(request, user)
                return HttpResponseRedirect('/home')
            else:
                form.add_error('username', 'Login Failed')
    else:
        form = LoginForm()

    context = {'form': form}
    http_response = render(request, 'login.html', context)
    return HttpResponse(http_response)
예제 #34
0
def login_view(request):
    if request.user.is_authenticated:
        return HttpResponseRedirect("/home")
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            pw = form.cleaned_data["password"]
            user = authenticate(username=username, password=pw)
        if user is not None:
            login(request, user)
            return redirect("home")
        else:
            form.add_error("username", "Login failed")
    else:
        form = LoginForm()

    context = {"form": form}
    http_response = render(request, "login.html", context)
    return HttpResponse(http_response)
예제 #35
0
def login_user(request):
    if request.user.is_anonymous():
        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:
                        login(request, user)
                        return redirect(reverse('index'))
                    else:
                        messages.add_message(
                            request, messages.ERROR,
                            mark_safe(
                                _('''Account not activated yet, check your
							 email for the validation link. <a href="
							/blog/resend/">Not there? Resend it here!</a>''')))

                        return render_to_response(
                            'blog/login.html', {'form': form},
                            context_instance=RequestContext(request))
                else:
                    messages.add_message(request, messages.ERROR,
                                         _('Wrong username or password.'))

                    return render_to_response(
                        'blog/login.html', {'form': form},
                        context_instance=RequestContext(request))
            else:
                return render_to_response(
                    'blog/login.html', {'form': form},
                    context_instance=RequestContext(request))
        else:
            form = LoginForm()

            return render_to_response('blog/login.html', {'form': form},
                                      context_instance=RequestContext(request))
    else:
        return redirect(reverse('index'))
예제 #36
0
def login_view(request):
  if request.user.is_authenticated:
    return redirect('home')
  if request.method == 'POST':
    form = LoginForm(request.POST)
    if form.is_valid():
      username = form.cleaned_data['username']
      pw = form.cleaned_data['password']
      user = authenticate(username=username, password=pw)
      if user is not None:
        login(request, user)
        return redirect('home')
      else:
        form.add_error('username', 'Login failed')
  else:
    form = LoginForm()

  context = {
    'form': form
  }
  return render(request, 'login.html', context)
예제 #37
0
def user_login(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            user = authenticate(username=cd['username'],
                                password=cd['password'])
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponse('Authenticated '\
                        'successfully')
                else:
                    return HttpResponse('Disabled account')

            else:
                return HttpResponse('Invalid login')

    else:
        form = LoginForm()
    return render(request, 'blog/login.html', {'form': form})
예제 #38
0
def log_in(request):
    if request.user.is_authenticated:
        return redirect('blog:index')

    else:
        title = '登录'
        if request.method == 'POST':
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                name = login_form.cleaned_data['username']
                pwd = login_form.cleaned_data['password']
                print(name, pwd)
                try:
                    user = authenticate(request, username=name, password=pwd)
                    print(user)
                    if user is not None:
                        login(request, user)
                        return redirect('blog:index')
                    else:
                        user = User.objects.get(username=name)
                        print(user)
                        if name == user.username and pwd == user.password:
                            return redirect('blog:index')
                        else:
                            error = '用户名或密码错误'
                            return render(request, 'auth/login.html', locals())
                except Exception as e:
                    print(e)
                    user = User.objects.get(username=name)

                    if name == user.username and pwd == user.password:
                        return redirect('blog:index')
                    else:
                        return render(request, 'auth/login.html')
            else:
                error = '提交错误'
                return render(request, 'auth/login.html', locals())

        return render(request, 'auth/login.html')
예제 #39
0
파일: views.py 프로젝트: Look-jie/jie
def do_login(request):
    try:
        if request.method == 'POST':
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                # 登录
                username = login_form.cleaned_data["username"]
                password = login_form.cleaned_data["password"]
                user = authenticate(username=username, password=password)
                if user is not None:
                    # 指定默认的登录验证方式
                    user.backend = 'django.contrib.auth.backends.ModelBackend'
                    login(request, user)
                else:
                    return render(request, 'failure.html', {'reason': '登录验证失败'})
                return redirect(request.POST.get('source_url'))
            else:
                return render(request, 'failure.html', {'reason': login_form.errors})
        else:
            login_form = LoginForm()
    except Exception as e:
        logger.error(e)
    return render(request, 'login.html', locals())
예제 #40
0
def user_login(request):
    if request.method == 'GET':
        lform = LoginForm()
        return render(request, 'login.html', context={'lform': lform})
    else:
        lform = LoginForm(request.POST)
        if lform.is_valid():
            username = lform.cleaned_data.get('username')
            password = lform.cleaned_data.get('password')
            # 方法一:通用
            # user=User.objects.filter(username=username).first()
            # flag=check_password(password,user.password)
            # if flag:
            #     request.session['username']=username
            #     return redirect(reverse('blog:index'))
            # else:
            #     return render(request, 'login.html', context={'lform': lform,'msg':'用户名或密码错误'})
            # 方法二:使用自带的login方法,适用于user继承自AbstractUser
            user = authenticate(username=username, password=password)
            if user:
                login(request, user)
                return redirect(reverse('blog:index'))
        return render(request, 'login.html', context={'lform': lform})
예제 #41
0
def index_login(request):
    context = {}
    if request.method == 'GET':
        form = LoginForm()
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            try:
                username = User.objects.get(email=email).username
                user = authenticate(username=username, password=password)
                if user is not None:
                    if user.is_active:
                        auth_login(request, user)
                        return redirect(to="home")
                else:
                    raise Exception('password or email is not correct')
            except:
                form = LoginForm()
                form.errors['注意:'] = (u"请输入正确的邮箱和密码")
    context['form'] = form
    return render(request, "login.html", context)
예제 #42
0
def login_page(request):
    form = LoginForm(request.POST or None)
    context = {"form": form}
    print(1, request.user.is_authenticated)
    if form.is_valid():
        print(form)
        print(form.cleaned_data)
        # context["form"] = LoginForm()
        # Authenticate user using builtin django authenticate and login modules
        username = form.cleaned_data["username"]
        password = form.cleaned_data["password"]
        user = authenticate(request, username=username, password=password)
        print(2, request.user.is_authenticated)
        if user is not None:
            print(3, request.user.is_authenticated)  # should be false
            login(request, user)
            print(4, request.user.is_authenticated)  #should be true
            # Redirect to a success page if you want
            return redirect("/")
        else:
            # Return an invalid login error message
            print("Password invalid")

    return render(request, "auth/login.html", context)
예제 #43
0
def login_user(request):
	if request.user.is_anonymous():
		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:
						login(request, user)
						return redirect(reverse('index'))
					else:
						messages.add_message(request, messages.ERROR, 
							mark_safe(_('''Account not activated yet, check your
							 email for the validation link. <a href="
							/blog/resend/">Not there? Resend it here!</a>''')))

						return render_to_response('blog/login.html', {'form': form},
						context_instance=RequestContext(request))
				else:
					messages.add_message(request, messages.ERROR, 
					_('Wrong username or password.')) 

					return render_to_response('blog/login.html', {'form': form},
						context_instance=RequestContext(request))
			else:
				return render_to_response('blog/login.html', {'form': form},
						context_instance=RequestContext(request))
		else:
			form = LoginForm()
		
			return render_to_response('blog/login.html', {'form': form},
				context_instance=RequestContext(request))
	else:
		return redirect(reverse('index'))