Example #1
0
def login(request):
    if request.method == "GET":
        # 构建表单类不好用
        # lf = LoginForm()
        # return render(request,'polls/login.html',{"lf":lf})
        # 需要在html中自己手动编写表单
        return render(request, 'polls/login.html')
    elif request.method == 'POST':
        # 与登陆的表单页面标签的value值一致
        username = request.POST.get("username")
        password = request.POST.get("password")
        #       使用django的自带的用户认证系统 认证成功返回用户 失败返回None
        user = authenticate(username=username, password=password)
        print(user)
        # 不可把django的方法放在判断user前面否则会有匿名用户的错误
        if user:
            # 调用django的login方法是为了生成session
            lin(request, user)
            next = request.GET.get("next")
            if next:
                url = next
                print(next)
            else:
                url = reverse("polls:index")
            return redirect(to=url)
        else:
            # url = reverse("polls:login")
            # return redirect(to=url)
            # render可传参
            return render(request, 'polls/login.html', {"errors": "用户名密码不匹配"})
Example #2
0
def login(request):
    if request.method == "GET":
        # return render(request,'polls/login.html')
        lf = LoginForm()
        return render(request, 'polls/login.html', {'lf': lf})
    elif request.method == "POST":
        lf = LoginForm(request.POST)
        if lf.is_valid():

            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]
            # 可以使用django自带的用户认证系统  认证成功返回用户 失败返回None
            user = authenticate(username=username, password=password)
            # 调用django登录方法  其实是为了生成cookie
            if user:
                lin(request, user)
                next = request.GET.get("next")
                print("取得next参数为", next)
                if next:
                    url = next
                else:
                    url = reverse("polls:index")
                return redirect(to=url)
            else:
                url = reverse("polls:login")
                return redirect(to=url)
Example #3
0
def login(request):
    if request.method == "GET":
        # 1 需要在html中自己手动编写表单
        # return render(request,'polls/login.html')
        # 2 使用表单类生成一个表单
        lf = LoginForm()
        return render(request, 'polls/login.html', {"lf": lf})
    elif request.method == "POST":
        # 第二种
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]
            user = authenticate(username=username, password=password)

        # 第一种
        # username=request.POST.get("username")
        # password=request.POST.get("password")
        # 使用django自带的用户验证系统,进行验证
        # user=authenticate(username=username,password=password)

        if user:
            lin(request, user)
            next = request.GET.get("next")
            if next:
                url = next
            else:
                url = reverse("polls:index")
            return redirect(to=url)
        else:
            # url = reverse("polls:login")
            # return redirect(to=url)
            return render(request, "polls/login.html", {"errors": "用户名或密码错误"})
Example #4
0
def login(request):
    if request.method == "GET":
        lf = LoginForm()
        return render(request, 'login.html', {'lf': lf})
    elif request.method == "POST":
        # username = request.POST.get('username')
        # password = request.POST.get('password')
        # user = authenticate(username=username, password=password)
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data['username']
            password = lf.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user:
                lin(request, user)
                next = request.GET.get('next')
                print('取得next参数为:', next)
                if next:
                    url = next
                else:
                    url = reverse('polls:index')
                return redirect(to=url)
            else:
                # url = reverse('polls:login')
                # return redirect(to=url)
                return render(request, 'login.html', {'errors': '用户名或密码错误'})
        else:
            return HttpResponse("未知错误")
Example #5
0
def login(request):
    if request.method == "GET":
        #第2种方法,使用表单类生成一个表单
        lf = LoginForm()
        return render(request, 'polls/login.html', {"lf": lf})
        #第1种方法
        #return render(request,'polls/login.html',{"errors":"用户名和密码不匹配!"})
    elif request.method == "POST":
        # 第1种方法
        # username = request.POST.get("username")
        # password = request.POST.get("password")
        #第2种方法
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]
            #认证成功返回用户信息,是不返回None
            user = authenticate(username=username, password=password)
            #为了生成Cookie信息
            if user:
                lin(request, user)
                next = request.GET.get("next")
                #print("取得next参数为", next)
                if next:
                    url = next
                else:
                    url = reverse("polls:index")
                return redirect(to=url)
            else:
                # url = reverse("polls:login")
                # return redirect(to=url)
                return render(request, 'polls/login.html',
                              {"errors": "用户名和密码不匹配!"})
        else:
            return HttpResponse("出现未知错误!")
Example #6
0
def login(request):
    if request.method == "GET":
        # 2.使用表单类生成一个表单
        lf = LoginForm()
        return render(request, 'login.html', {"lf": lf})
        # 1.需要在html中自己手动编写表单
        # return render(request, 'login.html')
    elif request.method == "POST":
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]

            # username = request.POST.get("username")
            # password = request.POST.get("password")
            # 可以使用django自带的用户认证系统 认证成功返回用户 失败返回None
            user = authenticate(username=username, password=password)
            # 调用Django登录方法 其实是为了生成cookie
            if user:
                lin(request, user)
                next = request.GET.get("next")
                if next:
                    url = next
                else:
                    url = reverse("polls:pindex")
                return redirect(to=url)
            else:
                # url = reverse("polls:login")
                # return redirect(to=url)
                return render(request, 'login.html', {
                    "errors": "用户名密码不匹配",
                    "lf": lf
                })
        else:
            return HttpResponse("未知错误")
def complete(request, id):
    if request.method == "POST":
        form = TypesForm(request.POST)
        currentUser = request.user
        userr = User.objects.get(username=currentUser)
        # studentCheckbox = request.POST['student']
        # teacherCheckbox = request.POST['teacher']
        users = request.POST.get('user')
        ty = Typesofuser.objects.create(user_id=userr.id, typeOfUser=users)
        if users == "admin":
            ques = QuestionBank.objects.all()
            users = User.objects.all()
            form = coursesForm()
            subs = courses.objects.all()
            return render(request, 'questionGenerator/admin.html', {
                'form': form,
                'ques': ques,
                'users': users,
                'subs': subs
            })
            lin(request, user)
        elif users == "teacher":
            return render(request, 'questionGenerator/teacher.html')
            lin(request, user)
    else:
        user = User.objects.get(id=id)
        form = TypesForm()
        return render(request, 'questionGenerator/complete.html', {
            'user': user,
            'form': form
        })
Example #8
0
def login(request):
    if request.method == "GET":
        # lf = LoginForm()
        # return render(request, 'polls/login.html', {"lf": lf})
        # 方法一html中form表单
        return render(request, 'polls/login.html')
    elif request.method == "POST":
        # lf = LoginForm(data=request.POST)
        # if lf.is_valid():
        #     username = lf.cleaned_data["username"]
        #     password = lf.cleaned_data["password"]

        username = request.POST.get("username")
        password = request.POST.get("password")
        # 可以使用Django自带的用户认证系统
        user = authenticate(username=username, password=password)
        if user:
            lin(request, user)
            next = request.GET.get("next")
            if next:
                url = next
            else:
                url = reverse("polls:index")
            return redirect(to=url)
        else:
            # url = reverse("polls:login")
            # return redirect(to=url)
            return render(request, "polls/login.html", {"errors": "用户密码不匹配"})
Example #9
0
def login(request):
    if request.method == "GET":
        lf = LoginForm()
        return render(request, 'polls/login.html', {"lf": lf})

    elif request.method == "POST":
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]
            user = authenticate(username=username, password=password)
            if user:
                lin(request, user)
                next = request.GET.get("next")
                if next:
                    url = next
                else:
                    url = reverse("polls:index")
                return redirect(to=url)
            else:
                # url = reverse("polls:login")
                # return redirect(to=url)
                return render(request, 'polls/login.html',
                              {"errors": "用户名密码不匹配"})
        else:
            return HttpResponse("未知错误")
Example #10
0
def login(request):
    if request.method == "GET":
        return render(request, '登录.html', locals())
    elif request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')
        try:
            user = authenticate(username=username, password=password)
            # user = User.objects.get(username=username)
            print("找到用户", user)
            print(user.username)
            print(user.password)
            # 验证成功生成cookie
            lin(request, user)
            # 人性化处理、
            next_url = request.GET.get("next")
            if next_url:
                url = next_url
            else:
                url = reverse("qikuapp:list")
            return redirect(to=url)
            # return render(request, '培训信息.html', locals())
        except:
            print("未找到相应用户,登录失败")
            error = "用户名或密码错误,登录失败"
            return render(request, '登录.html', locals())
Example #11
0
def login(request):
    if request.method == "GET":
        lf = LoginForm()
        return render(request, 'login.html', {"lf": lf})
    elif request.method == "POST":
        lf = LoginForm(request.POST)
        print(lf.is_valid())
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]
            # username = request.POST.get("username")
            # password = request.POST.get("password")
            user = authenticate(username=username, password=password)
            if user:
                lin(request, user)
                print("--", request.method)
                next = request.GET.get("next")
                if next:
                    url = next
                else:
                    url = reverse("polls:polls")
                return redirect(to=url)
            else:
                url = reverse("polls:login")
                return redirect(to=url)
        else:
            return HttpResponse("未知错误")
Example #12
0
def login(request):
    if request.method == 'GET':
        lf = LonginForm()
        return render(request, 'login.html', {"lf": lf})
    elif request.method == 'POST':
        lf = LonginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]
            # username = request.POST.get('username')
            # password = request.POST.get('password')
            user = authenticate(username=username, password=password)
            if user:
                lin(request, user)
                next = request.GET.get("next")
                print(next)
                if next:
                    url = next
                else:
                    url = reverse("polls:polls")
                return redirect(to=url)
            else:
                return render(request, 'login.html', {'err': '用户名或密码错误'})
        else:
            return HttpResponse("失败")
Example #13
0
def login(res):
    if res.method == 'GET':
        # 1.手动返回html表单类
        return render(res, 'login.html')
        # 2.使用表单类生成
        # lf = LoginForm()
        # return render(res,'login.html',{'lf':lf})

    elif res.method == 'POST':
        # lf = LoginForm(res.POST)
        # if lf.is_valid():
        #     username = lf.cleaned_data['username']
        #     password = lf.cleaned_data['password']
        username = res.POST.get('username')
        password = res.POST.get('password')
        # 可以使用Djano自带的用户认证系统 成功返回用户 失败返回None
        user = authenticate(username=username, password=password)
        if user:
            # 调用Djano 是为了生成Cook信息
            lin(res, user)
            next = res.GET.get('next')
            if next:
                url = next
            else:
                url = reverse('polls:index2')
            return redirect(to=url)
        else:
            return render(res, 'login.html', {'error': '用户名或密码不匹配'})
Example #14
0
def login(request):
    # return HttpResponse("登录")
    if request.method == "GET":
        return render(
            request,
            'vote/login.html',
        )
    elif request.method == "POST":
        username = request.POST.get("username")
        password = request.POST.get("password")
        # 验证登录可以使用django自带的用户认证系统 认证成功返回用户 失败返回 None
        user = authenticate(username=username, password=password)
        print(user)
        if user:
            # 认证成功 生成cookie
            lin(request, user)
            # 检验以下 来(登录)之前有没有准备进入详情页
            next_url = request.GET.get("next")
            if next_url:
                url = next_url
            else:
                url = reverse("vote:index")
            return redirect(to=url)
        else:
            url = reverse("vote:login")
            return redirect(to=url)
Example #15
0
def login(request):
    if request.method == "GET":
        #2.使用表单类生成一个表单
        lf = LoginForm()
        return render(request, 'polls/login.html', {'lf': lf})

        #1.需要在html中自己手动编写表单
        # return render(request, 'polls/login.html')
    elif request.method == "POST":
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]

            # username = request.POST.get("username")
            # password = request.POST.get("password")
            # 可以使用Django自带的用户认证系统
            user = authenticate(username=username, password=password)
            if user:
                lin(request, user)
                next = request.GET.get("next")
                print("取得next的参数为", next)
                if next:
                    url = next
                else:
                    url = reverse("polls:index")
                return redirect(to=url)
            else:
                return render(request, 'polls/login.html',
                              {'errors': '用户名密码不匹配'})
                # url = reverse("polls:login")
                # return redirect(to=url)
        else:
            return HttpResponse("未知错误")
Example #16
0
def home(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('chalk_schedule'))
    if request.method == "POST":
        username = request.POST.get('username')
        email = request.POST.get('email')
        password = request.POST.get('password')
        password_conf = request.POST.get('password_conf')
        if password != password_conf:
            return render(request, 'index.html', {
                'error': 'Passwords do not match!',
            })
        if len(U.objects.filter(username=username))>0:
            return render(request, 'index.html', {
                'error': 'Username already taken!',
            })
        if len(U.objects.filter(email=email))>0:
            return render(request, 'index.html', {
                'error': 'Email already taken!',
            })
        user = U.objects.create_user(username=username, email=email, password=password)
        user.first_name = "User"
        user.last_name = "Name"
        user.is_active = True
        user.save()
        var = authenticate(username=username, password=password)
        lin(request, var)
        return HttpResponseRedirect(reverse("chalk_schedule"))
    return render(request, 'index.html')
Example #17
0
def login(request):
    if request.method == 'POST':
        login_form = StaffLoginForm(data=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:
                lin(request, user)
                return redirect('shelf:list_branches')
            else:
                login_form.add_error(field=None,
                                     error='Incorrect username or password')
                context = {
                    'login_form': login_form,
                }
                return render(request, 'accounts/login.html', context)
        else:
            return render(request, 'accounts/login.html',
                          {'login_form': login_form})
    else:
        context = {
            'login_form': StaffLoginForm,
        }
        return render(request, 'accounts/login.html', context)
Example #18
0
def login(request):
    username = request.POST.get('username')
    password = request.POST.get('password')
    user = authenticate(username=username, password=password)
    if user:
        lin(request, user)
        return redirect('index')
    args = dict(error='Неправильный пароль или имя')
    return render(request, 'login.html', args)
Example #19
0
def register(request):
    username = request.POST['name']
    password = request.POST['pass']
    user = User.objects.create_user(username=username, password=password)
    info = UserInfo(user=user)
    user.save()
    info.save()
    user = authenticate(username=username, password=password)
    lin(request, user)
    return redirect("/")
Example #20
0
def login(request):
    if request.method!="POST":
        return render(request,'account/login.html',{})
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(request, username=username, password=password)
    if user is not None:
        lin(request, user)
        return redirect('home')
    else:
        messages.add_message(request,messages.INFO,'Invalid username or password')
        return render(request,'account/login.html',{})
Example #21
0
def login(request):
    if request.user.is_authenticated:
        return redirect('/user/dashboard')
    # checking method
    if request.method == 'GET':
        # checking if loginError exists
        if request.session.get('loginError') is not None:
            loginError = request.session.get('loginError')
            # checking if login error has been shown to user yet (if the page has been reloaded)
            if not loginError.get('reloaded'):
                # setting reloaded to True
                loginError['reloaded'] = True
                request.session['loginError'] = loginError
            else:
                # setting login error to none
                request.session['loginError'] = None
        # returning template
        return render(request, "users/login.html")
    elif request.method == 'POST':
        # getting data
        data = request.POST.dict()
        username, password = data.get("username"), data.get("password")

        # authenticating user
        user = authenticate(username=username, password=password)
        if user is not None:
            # loggin in user
            lin(request, user)
            # checksums
            try:
                sr = SurveyResults.objects.filter(user=user).get()
            except:
                s = SurveyResults.objects.create(user=user)
                s.save()
                return redirect('/survey')
            try:
                sr = SavedPcs.objects.filter(user=user).get()
            except:
                sResults = SavedPcs.objects.create(user=user)
                sResults.save()
                return redirect('/survey')
            # redirecting to dashboard
            return redirect('/user/dashboard')
        else:
            # setting login error
            request.session['loginError'] = {
                "message": "Username and password combination not found.",
                "reloaded": False,
            }
            # authenication failed sending to login page
            return redirect('/login')
Example #22
0
def login(request):
    if request.user.is_authenticated():
        return home(request)
    elif request.method == 'GET':
        c = {}
        c.update(csrf(request))
        return render(request, 'login.html', c)
    else:
        # This is done quite stupid
        username = request.POST['name']
        password = request.POST['pass']
        user = authenticate(username=username, password=password)
        lin(request, user)
        return redirect("/")
def register(request):
    if request.method == "POST":
        form = Registration(request.POST)
        if form.is_valid():
            name = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = User.objects.create_user(username=name, password=password)
            if user:
                lin(request, user)
                return redirect('complete', id=user.id)
            else:
                return redirect('index')
    else:
        form = Registration()
        context = {'form': form}
        return render(request, 'questionGenerator/index.html', context)
Example #24
0
def login(request):
    # return HttpResponse("登录")
    if request.method == "GET":
        # 1.传统 需要自己编写html表单
        # return render(request, 'vote/login.html', )
        # 2. 使用表单类html表单
        lf = LoginForm()
        return render(request, 'vote/login.html', {'lf': lf})
    elif request.method == "POST":
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]

            # username = request.POST.get("username")
            # password = request.POST.get("password")
            # 验证登录可以使用django自带的用户认证系统 认证成功返回用户 失败返回 None
            # user = authenticate(username = username,password = password)
            user = User.objects.get(username=username)
            print(user)
            print(user.password)
            # 因为使用表单类用户的密码是未加密状态,不能使用django登录认证系统
            if user.password == password:
                # if user:
                # 认证成功 生成cookie
                lin(request, user)

                # 检验以下 来(登录)之前有没有准备进入详情页
                next_url = request.GET.get("next")
                if next_url:
                    url = next_url
                else:
                    url = reverse("vote:index")
                return redirect(to=url)
            else:
                # url = reverse("vote:login")
                # return redirect(to=url)
                return render(request, "vote/login.html", {
                    'errors': "用户名或密码错误",
                    "lf": lf
                })

        # return HttpResponse("登录")
        else:
            return HttpResponse("出现未知错误,登录失败")
Example #25
0
def login(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('chalk_schedule'))
    if request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = authenticate(username=username, password=password)

        if user is not None:
            lin(request, user)
            return HttpResponseRedirect(reverse('chalk_schedule'))
        else:
            return render(request, 'clogin.html', {
                'success': False,
                'message': 'Username or password are incorrect',
            })
    return render(request, 'clogin.html', {})
def login(request):
    if request.method == "POST":
        form = Registration(request.POST)
        if form.is_valid():
            name = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(username=name, password=password)
            if user:
                userr = User.objects.get(username=name)
                typ = Typesofuser.objects.get(user_id=userr.id)
                if typ.typeOfUser == "admin":
                    lin(request, user)
                    ques = QuestionBank.objects.all()
                    users = User.objects.all()
                    form = coursesForm()
                    subs = courses.objects.all()
                    return render(request, 'questionGenerator/admin.html', {
                        'form': form,
                        'ques': ques,
                        'users': users,
                        'subs': subs
                    })
                elif typ.typeOfUser == "teacher":
                    lin(request, user)
                    user = request.user
                    users = User.objects.get(username=user)
                    if courses.objects.filter(user_id=users.id).exists():
                        subs = courses.objects.get(user_id=users.id)
                        sub = subs.course_title
                        quest = QuestionBank.objects.filter(subject=sub)
                        print(sub)
                        return render(request,
                                      'questionGenerator/teacher.html', {
                                          'user': user,
                                          'quest': quest,
                                          'sub': sub
                                      })
                    else:
                        return render(request,
                                      'questionGenerator/teacher.html')
    else:
        form = Registration()
        return render(request, 'questionGenerator/login.html', {'form': form})
Example #27
0
def login(request):
    if request.method == 'POST':
        form = forms.LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(username=request.POST['username'],
                                password=request.POST['password'])
            if user is not None:
                # the password verified for the user
                if user.is_active:
                    lin(request, user)
                    message = "Bienvenue, " + \
                        user.first_name if user.first_name != '' else "Bienvenue, " + user.username
                    messages.success(request, message)
                    context = {
                        'page_title': 'Connexion',
                    }
                    if user.groups.filter(name='consultants').exists():
                        return render(request,
                                      'admin_pages_index.html',
                                      context=context)
                    else:
                        return render(request,
                                      'admin_pages_index.html',
                                      context=context)
                else:
                    messages.warning(request, "Votre compte n'est pas activé.")
                    return redirect('public_login')
            else:
                context = {
                    'page_title': 'Connexion',
                    'login_form': form,
                }
                messages.warning(request, "Merci de vérifier les informations")
                return render(request,
                              'public_pages_login.html',
                              context=context)
        else:
            context = {
                'page_title': 'Connexion',
            }
            messages.warning(request, "Merci de vérifier les informations")
            return render(request, 'public_pages_login.html', context=context)
Example #28
0
def login(request):
    if request.method == "GET":
        # 第一种方法自己写一个html文件用于显示
        # return render(request,'polls/login.html')
        # 方法2:使用Django自带的表单类来生成HTML文件
        lf = LoginForm()
        return render(request, 'polls/login.html', {"lf": lf})
    elif request.method == "POST":
        # 方法1
        # username = request.POST.get("username")
        # password = request.POST.get("password")
        # 方法2
        lf = LoginForm(data=request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]
            # ---------------方法2结束--------------------
            # 可以使用django自带的用户认证系统  认证成功返回用户 失败返回None
            user = authenticate(username=username, password=password)
            # 调用django登录方法  其实是为了生成cookie
            if user:
                lin(request, user)
                next = request.GET.get("next")
                print("取得next参数为", next)
                if next:
                    url = next
                else:
                    url = reverse("polls:index")
                return redirect(to=url)
            else:
                # url = reverse("polls:login")
                # return redirect(to=url)
                return render(request, 'polls/login.html', {
                    "error": "用户名和密码不匹配",
                    "lf": lf
                })
        else:
            return HttpResponse("未知错误")
Example #29
0
def login(request):
    if request.method == 'GET':
        return render(request, 'polls/login.html')
    elif request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        #可以使用django自带的用户认证系统 认证成功返回用户 失败返回None
        user = authenticate(username=username, password=password)
        if user:
            #调用django登陆方法,其实是为了生成cookie
            lin(request, user)
            next = request.GET.get("next")
            if next:
                url = next

            else:

                url = reverse('polls:index')
            return redirect(to=url)
        else:
            # url = reverse('polls:login')
            # return redirect(to=url)
            return render(request, 'polls/login.html', {'errors': '用户名密码不一致'})
Example #30
0
def login(request):
    if request.method == "GET":
        lf = LoginForm()
        return render(request, "polls/login.html", {"lf": lf})
        # return render(request,'polls/login.html')
    elif request.method == "POST":
        lf = LoginForm(request.POST)
        if lf.is_valid():
            username = lf.cleaned_data["username"]
            password = lf.cleaned_data["password"]

        # username = request.POST.get("username")
        # password = request.POST.get("password")
        # 可以使用django自带的用户认证系统  认证成功返回用户 失败返回None
            user = authenticate(username=username, password=password)
            # 调用django登录方法  其实是为了生成cookie
            if user:
                lin(request, user)
                url = reverse("polls:index")
                return redirect(to=url)
            else:
                # url = reverse("polls:login")
                # return redirect(to=url)
                return render(request, "polls/login.html", {"errs": "用户名或密码不匹配"})
Example #31
0
def login(request):
    if request.method == "GET":
        # 2 使用表单类生成表单
        # lf = LoginForm()
        # return render(request, 'login.html', {"lf": lf})
        # 1 需要在html中自己编写表单
        return render(request, 'login.html')
    elif request.method == "POST":
        # lf = LoginForm(request.POST)
        # if lf.is_valid():

        username = request.POST.get("username")
        password = request.POST.get("password")
        #  可以使用Django自带的用户认证   认证成功返回用户  失败返回none
        user = authenticate(username=username, password=password)
        if user:
            # 调用Django的登录方法  生成cookie
            lin(request, user)
            url = reverse("polls:polls")
            return redirect(to=url)
        else:
            # url=reverse("polls:login")
            # return redirect(to=url)
            return render(request, 'login.html', {'errors': "用户名或密码错误"})