def post(self, request, *args, **kwargs): # form表单验证 login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] # 用于通过用户名查询用户是否存在 user = authenticate(username=user_name, password=password) # from apps.users.models import UserProfile # 通过用户名查询用户 # 需要先加密再通过加密之后密码查询 # 对整个django后端后续代码不好 # user=UserProfile.objects.get(username=user_name,password=password) if user is not None: # 查询到用户 login(request, user) # 登录成功之后应该怎么返回页面 return HttpResponseRedirect(reverse('index')) else: # 未查询到用户 return render(request, 'login.html', { 'msg': '用户名或密码错误', 'login_form': login_form }) else: return render(request, 'login.html', {'login_form': login_form})
def post(self, request, *args, **kwargs): # 使用表单验证可简化 login_form = LoginForm(request.POST) if login_form.is_valid(): # 用于通过用户和密码查询用户是否存在 user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) # 1.通过用户名查询到用户 # 2.需要先加密再通过加密之后的密码查询 # from apps.users.models import UserProfile # user = UserProfile.objects.get(username=user_name, password=password) if user is not None: # 查询到用户 login(request, user) # 登陆成功之后该如何返回页面 return HttpResponseRedirect(reverse("index")) else: # 未查询到用户 return render(request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form }) else: return render(request, "login.html", {"login_form": login_form})
def post(self, request): """登录请求""" # 接受数据 # username = request.POST.get('username', "") # password = request.POST.get('password', "") # 校验数据 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: # 用户名密码正确 # 记住用户登录状态 login(request, user) # 获取用户来前的页面 url_next = request.GET.get('next', reverse('index')) # 返回首页 return redirect(url_next) else: # 密码不正确 return render(request, 'login.html', {'errage': '用户名或密码不正确', 'login_form': login_form}) else: # 返回数据 return render(request, 'login.html', {'login_form': login_form, 'res':1})
def post(self, request, *args, **kwargs): # 表单验证 login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] # if not user_name: # return render(request, 'login.html', {'msg': '请输入用户名!'}) # if not password: # return render(request, 'login.html', {'msg': '请输入密码!'}) # if len(password) < 3: # return render(request, 'login.html', {'msg': '密码格式错误!'}) # 通过用户名和密码查询用户是否存在 user = authenticate(username=user_name, password=password) # from apps.users.models import UserProfile # 1通过用户名查询用户 (不推荐) # 2需要先加密在通过加密后的密码查询用户名密码是否匹配 # user=UserProfile.objects.get(username=user_name,password=password) # 用于查询用户是否存在 if user is not None: # 查询到用户 login(request, user) # 登陆成功之后,如何返回页面 return HttpResponseRedirect(reverse('index')) else: # 未查询到用户 return render(request, 'login.html', { 'msg': '用户名或密码错误!', 'login_form': login_form }) else: return render(request, 'login.html', {'login_form': login_form})
def post(self,request): # 实例化 login_form = LoginForm(request.POST) if login_form.is_valid(): # 获取用户提交的用户名和密码 user_name = request.POST.get('username', None) pass_word = request.POST.get('password', None) # 成功返回user对象,失败None user = authenticate(username=user_name, password=pass_word) # 如果不是null说明验证成功 if user is not None: if user.is_active==1: # 著有注册激活才能登录 login(request, user) elif user.is_active == 0: return render(request, 'login.html', {'msg': '用户未激活' }) return render(request, 'index.html') # 只有当用户名或密码不存在时,才返回错误信息到前端 else: return render(request, 'login.html', {'msg': '用户名或密码错误','login_form':login_form}) # form.is_valid()已经判断不合法了,所以这里不需要再返回错误信息到前端了 else: return render(request,'login.html',{'msg':'用户名或密码错误','login_form':login_form})
def post(self, request, *args, **kwargs): user_name = request.POST.get("username", "") password = request.POST.get("password", "") # from verification login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) if user is not None: # find the user and password login(request, user) # after login, return to page return HttpResponseRedirect(reverse("index")) else: return render( request, "login.html", { "msg": "username or password incorrect", "login_form": login_form }) # else: return render(request, "login.html", {"login_form": login_form})
def post(self, request): # 实例化 login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = request.POST.get('username', None) pass_word = request.POST.get('password', None) user = authenticate(username=user_name, password=pass_word) if user is not None: if user.is_active: # 用户激活才能登录 # 如果用户信息不为空 则直接登录 login(request, user) return render(request, 'index.html') else: return render(request, "login.html", { 'msg': "用户名或密码错误", 'login_form': login_form }) else: return render(request, 'login.html', { 'msg': "用户名和密码错误", 'login_form': login_form }) # 这里已经判断不合法了,所以这里不需要显示错误信息到前端 else: return render(request, 'login.html', {'login_form': login_form})
def post(self, request, *args, **kwargs): #表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] if login_form.is_valid(): #用于前后端判断 user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) if user is not None: #登录 login(request, user) #返回页面 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: #登录失败 banners = Banner.objects.all()[:3] return render( request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form, "banners": banners }) else: return render(request, "login.html", { "login_form": login_form, "banners": banners })
def post(self, request, *args, **kwarg): login_form = LoginForm(request.POST) # user_name = request.POST.get("username", "") # password = request.POST.get("password", "") # if not user_name: # return render(request, "login.html", {"msg": "用户名或密码错误"}) # # if not password: # return render(request, "login.html", {"msg": "パスワードを入力してください"}) # ユーザーの検証 if login_form.is_valid(): user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) if user is not None: login(request, user) next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) # return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: return render(request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form }) else: return render(request, "login.html", {"login_form": login_form})
def post(self, request, *args, **kwargs): #通过forms.py进行表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] if login_form.is_valid(): #----------------------------通过forms.py进行表单验证并拿取数据------------- user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] # ---------------------------------------------------------------------- #authenticate用于通过用户名和密码查询用户是否存在 user = authenticate(username=user_name, password=password) if user is not None: #查询到用户⬆,登陆成功⬇ login(request, user) #登陆成功后回首页 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: #未查询到用户,回注册页 return render( request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form, "banners": banners }) else: return render(request, "login.html", { "login_form": login_form, "banners": banners })
def post(self, request, *args, **kwargs): login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] if login_form.is_valid(): user_name = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] user = authenticate(username=user_name, password=password) if user is not None: login(request, user) next = request.GET.get('next', '') if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse('index')) else: return render( request, 'login.html', { 'msg': '用户名或密码错误', 'login_form': login_form, 'banners': banners }) else: return render(request, 'login.html', { 'login_form': login_form, 'banners': banners })
def post(self, request, *args, **kwargs): #表单验证(表单:用户通过前端提交过来的数据) # if not user_name: # return render(request, "login.html", {"msg": "user is not exist"}) # if not password: # return render(request, "login.html", {"msg": "password is wrong"}) # if len(password) < 3: # return render(request, "login.html", {"msg": "password is wrong"}) login_form = LoginForm(request.POST) #1.表单验证;2.对数据加工处理 user_name = request.POST.get("username", "") password = request.POST.get("password", "") if login_form.is_valid(): # 用于通过用户和密码查询用户是否存在 # user_name = login_form.cleaned_data["username"] # password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) #为什么不采用UserProfile方法 #1. 通过用户名查询到用户 #2. 需要先加密再通过加密之后的密码查询 #user = UserProfile.objects.get(username=user_name, password=password) if user is not None: #查询到用户 login(request, user) #登陆成功之后应该怎么返回页面 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: #未查询到用户 return render(request, "login.html", {"msg":"user is not exist or password is wrong", "login_form": login_form}) else: return render(request, "login.html", {"login_from": login_form})
def post(self, request, *args, **kwargs): login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] # user_name = request.POST.get("username", "") # password = request.POST.get("password", "") # if not user_name: # return render(request, "login.html", {"msg":"请输入用户名"}) # if not password: # return render(request, "login.html", {"msg":"请输入密码"}) # if len(password)<3: # return render(request, "login.html", {"msg":"密码格式不正确"}) #通过用户和密码查询用户是否存在 user = authenticate(username=user_name, password=password) # from apps.users.models import UserProfile # #1.通过用户名查询到用户 # #2.先加密在通过加密后的密码查询 # user = UserProfile.objects.get(username=user_name, password=password) if user is not None: #查询到用户 login(request, user) #登陆成功之后怎么返回页面 return HttpResponseRedirect(reverse('index')) else: return render(request, "login.html", {"msg": "用户名或密码错误"}) else: #未查询到用户 return render(request, "login.html", {"login_form": login_form})
def post(self, request, *args, **kwargs): #表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] if login_form.is_valid(): user_name = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] #通过用户名和密码查询用户是否存在 user = authenticate(username=user_name, password=password) if user is not None: #查询到用户 login(request, user) #登录成功后返回页面 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: #未查询到用户 return render( request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form, "banners": banners, }) else: return render(request, "login.html", { "login_form": login_form, "banners": banners, })
def post(self, request, *args, **kwargs): # 表单验证--此方法造成代码冗余不适用 # username = request.POST.get("username", "") # password = request.POST.get("password", "") # if not username: # return render(request, "login.html", {"msg": "请输入用户名"}) # if not password: # return render(request, "login.html", {"msg": "请输入密码"}) # 表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] 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: # 查询到用户 login(request, user) # 登录成功之后返回页面 # return render(request, "index.html") # 登录成功后url无法重定向 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: # 未查询到用户 return render(request, "login.html", {"msg": "用户名或密码错误", "login_form": login_form, "banners": banners}) else: return render(request, "login.html", {"login_form": login_form, "banners": banners})
def post(self, request, *args, **kwargs): # 表单验证 # 把post提交的信息传递给自定义的form类 login_form = LoginForm(request.POST) # 如果is_valid为true,说明验证通过 banners = Banner.objects.all()[:3] if login_form.is_valid(): # 通过cleaned_data来获取用户名和密码,cleaned_data是dict格式 username = login_form.cleaned_data.get('username') password = login_form.cleaned_data.get('password') # 不建议自己去数据库查,因为密码是经过计算加密的,所以用django自己封装的authenticate更好 user = authenticate(username=username, password=password) if user: # 使用login函数帮助我们登录,这里会去取session_id,并把它保存到cookie中 login(request, user) next = request.GET.get('next', '') if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse('index')) else: return render( request, 'login.html', { 'msg': '用户名或密码错误', 'login_form': login_form, 'banners': banners, }) else: return render(request, 'login.html', { 'login_form': login_form, 'banners': banners, })
def post(self, request, *args, **kwargs): # 表单验证 login_form = LoginForm(request.POST) if login_form.is_valid(): # 用于通过用户名和密码查询用户是否存在 user_name = login_form.cleaned_data["username"] # 获取form处理后的数据 password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) if user is not None: # django自带login方法,自动设置sessionid login(request, user) # 登录成功之后返回原页面 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: return render(request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form }) else: return render(request, "login.html", {"login_form": login_form})
def post(self, request, *args, **kwargs): re_dict = {} login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) if user is not None: re_dict["status"] = "success" # create code code = generate_random(4, 0) re_dict["status"] = "success" r = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, db=0, charset="utf8", decode_responses=True) r.set(str(user_name), code) r.expire(str(user_name), 60 * 30) # 30 mins expired #create qrcode image qrCodeIma = qrcode.make(str(code)) qrCodeImaPath = "static/qrimages/" + user_name + ".jpg" qrCodeIma.save(qrCodeImaPath) else: re_dict["status"] = "error" return JsonResponse(re_dict)
def post(self, request, *args, **kwargs): #表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] if login_form.is_valid(): #用于通过用户和密码查询用户是否存在 user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) #1. 通过用户名查询到用户 #2. 需要先加密再通过加密之后的密码查询 # user = UserProfile.objects.get(username=user_name, password=password) if user is not None: #查询到用户 login(request, user) #登录成功之后应该怎么返回页面 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: #未查询到用户 return render( request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form, "banners": banners }) else: return render(request, "login.html", { "login_form": login_form, "banners": banners })
def post(self, request, *args, **kwargs): # 表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] 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: login(request, user) next = request.GET.get('next', '') # 登录成功后跳转到首页 if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse('index')) else: # 未查询到用户 return render(request, 'login.html', { 'message': '用户名或密码错误', 'login_form': login_form, 'banners': banners, }) else: return render(request, 'login.html', { 'login_form': login_form, 'banners': banners, })
def post(self, request): login_form = LoginForm(request.POST) # user_name = request.POST.get('username','') # password = request.POST.get('password','') # 后端来验证登录信息 # if not user_name: # return render(request, 'login.html', {'msg': '请输入用户名'}) # if not password: # return render(request, 'login.html', {'msg': '请输入密码'}) # if len(password) < 3: # return render(request, 'login.html', {'msg': '密码格式不正确'}) # 表单验证 banner = Banner.objects.all()[:3] # 验证用户是否存在 if login_form.is_valid(): user_name = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] user = authenticate(username=user_name, password=password) if user is not None: login(request, user) next = request.GET.get('next', '') if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse('index')) else: return render(request, 'login.html', { "msg": '用户名或密码错误', 'login_form': login_form, "banners": banner }) else: return render(request, 'login.html', { 'login_form': login_form, "banners": banner })
def post(self, request, *args, **kwargs): #表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.all()[:3] if login_form.is_valid(): #用于通过用户和密码查询用户是否存在 user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) #1. 通过用户名查询到用户 #2. 需要先加密再通过加密之后的密码查询 # user = UserProfile.objects.get(username=user_name, password=password) if user is not None: #查询到用户 login(request, user) #登录成功之后应该怎么返回页面 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: #未查询到用户 return render(request, "login.html", {"msg":"用户名或密码错误", "login_form": login_form, "banners":banners}) else: return render(request, "login.html", {"login_form": login_form, "banners":banners}) # class ForgetPwdView(View): # def get(self,request): # forget_form = ForgetForm() # return render(request,'forgetpwd.html',{"forget_form":forget_form}) # # # def post(self,request): # forget_form = ForgetForm(request.POST) # if forget_form.is_valid(): # email = request.POST.get('email','') # if UserProfile.objects.filter(email=email): # send_register_email(email, 'forget') # return render(request, 'send_success.html') # else:return render(request, "forgetpwd.html",{'forget_form':forget_form,"msg":'用户不存在'}) # else: # return render(request,'forgetpwd.html',{"forget_form":forget_form}) #验证数据库的验证码与访问邮箱链接地址是否匹配! # class ActiveUserView(View): # def get(self,request,active_code): # all_recode = EmailVerifyRecord.objects.filter(code=active_code) # if all_recode: # for recode in all_recode: # email = recode.email # user = UserProfile.objects.get(email=email) #注意是User!即在auth_user表下比对数据!方便下一步进行修改user表的is_active状态! # user.is_active = True # user.save() # return render(request, 'login.html') # else:return render(request, 'active_fail.html')
def post(self, request, *args, **kwargs): login_form = LoginForm(request.POST) banners = Banner.objects.all().order_by("-add_time")[:3] if login_form.is_valid(): # user_name= request.POST.get("username","") # password= request.POST.get("password","") # if not user_name: # return render(request, "login.html", {"msg": "请输入用户名"}) # # if not password: # return render(request, "login.html", {"msg": "请输入密码"}) user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) # user = authenticate(username="******", password="******") if user is not None: if user.is_active: login(request, user) next = request.GET.get("next", "") message = UserMessage() message.user = user message.messgae = "登录成功!" message.has_read = False message.save() if next: return HttpResponseRedirect(next) else: return HttpResponseRedirect(reverse("index")) else: msg = "用户未激活!" login_form._errors["msg"] = login_form.error_class([msg]) return render( request, "login.html", { "msg": "用户未激活!请前往邮箱激活", "login_form": login_form, "banners": banners, }) else: print(233) return render( request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form, "banners": banners, }) else: return render(request, "login.html", { "login_form": login_form, "banners": banners, })
def login(request): if request.method == 'POST': login_form = LoginForm(request.POST) if login_form.is_valid(): user_logging = User.objects.filter( email = login_form.cleaned_data.get('email') ).first() if user_logging is not None: is_authenticated = check_password( login_form.cleaned_data.get('password'), user_logging.password ) if is_authenticated: user_details = { 'id' : user_logging.id, 'name' : user_logging.name, 'alias' : user_logging.alias, 'email' : user_logging.email, } request.session['is_authenticated'] = True request.session['user'] = user_details messages.success(request, 'Welcome ' + user_logging.name + '!') return HttpResponseRedirect( reverse('books:list') ) else: messages.error(request, 'Invalid username and password.') return HttpResponseRedirect( reverse('users:index') ) else: messages.error(request, 'Invalid username and password.') return HttpResponseRedirect( reverse('users:index') ) else: print('invalid!') messages.error(request, 'Invalid email format or password.') return HttpResponseRedirect( reverse('users:index') ) else: messages.error(request, 'You are not allowed to this page.') return HttpResponseRedirect( reverse('users:index') )
def post(self, request): login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = request.POST.get('username', '') pass_word = request.POST.get('password', '') user = authenticate(username=user_name, password=pass_word) if user is not None: login(request, user) return HttpResponseRedirect(reverse('index')) else: return render(request, 'login.html', {'msg': '用户名或者密码错误'}) else: return render(request, 'login.html', {'login_form': login_form})
def post(self, request): login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = request.POST.get('username', '') pass_word = request.POST.get('password', '') user = authenticate(username=user_name, password=pass_word) if user is not None: login(request, user) return render(request, 'index.html') else: return render(request, 'login.html', {'message': '用户名或密码错误'}) else: return render(request, 'login.html', {'login_form': login_form})
def index(request): login_form = LoginForm(request.POST or None) if request.POST and login_form.is_valid(): user = login_form.login(request) if user: login(request, user) return HttpResponseRedirect( request.POST.get('next') or reverse('index')) return render(request, "users/index.html", { "login_form": login_form, 'next': request.GET.get('next', '') })
def post(self, request): login_form = LoginForm(request.POST) if login_form.is_valid(): user_name = request.POST.get("username", "") pass_word = request.POST.get("password", "") user = authenticate(username=user_name, password=pass_word) if user is not None: if user.is_active: login(request, user) return render(request, 'index.html') else: return render(request, 'login.html', {'msg': '用户未激活'}) else: return render(request, 'login.html', {'msg': 'get a error'})
def post(self, request, *args, **kwargs): # 表单验证 login_form = LoginForm(request.POST) banners = Banner.objects.filter(type=3).order_by("index") if login_form.is_valid(): # 用于通过用户和密码查询用户是否存在 user_name = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] user = authenticate(username=user_name, password=password) # 1. 通过用户名查询到用户 # 2. 需要先加密再通过加密之后的密码查询 # user = UserProfile.objects.get(username=user_name, password=password) if user is not None: # 查询到用户 if user.is_active: # 只有注册激活才能登录 login(request, user) # 登录成功之后应该怎么返回页面 next = request.GET.get("next", "") if next: return HttpResponseRedirect(next) return HttpResponseRedirect(reverse("index")) else: all_records = EmailVerifyRecord.objects.filter( email=user_name) if all_records: for record in all_records: record.delete() send_register_eamil(user.email, 'register') return render( request, 'login.html', { 'msg': '您的账户未激活,邮件已重发,请前往邮箱激活', 'login_form': login_form, "banners": banners }) else: # 未查询到用户 return render( request, "login.html", { "msg": "用户名或密码错误", "login_form": login_form, "banners": banners }) else: return render(request, "login.html", { "login_form": login_form, "banners": banners })
def post(self, request): login_form = LoginForm(request.POST) if login_form.is_valid(): username = request.POST.get('username', '') password = request.POST.get('password', '') user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) return redirect('/') else: return render(request, 'login.html', {'msg': '用户未激活'}) else: msg = '用户名或密码错误' return render(request, 'login.html', {'msg': msg}) else: return render(request, 'login.html', {'login_form': login_form})
def Login(request): """ Login form """ template_file = "user-login.html" form = LoginForm(request.POST or None, request.FILES or None) next = request.POST.get('next', None) if form.is_valid(): username = form.cleaned_data['login'] password = form.cleaned_data['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: loginUser(request, user) else: messages.add_message(request, messages.ERROR, u"Inactive user") return redirect("user:login") else: messages.add_message(request, messages.ERROR, u"Invalid user or password") return redirect("user:login") msg = u"You're now logged in" messages.add_message(request, messages.SUCCESS, msg) if next is not None: return HttpResponseRedirect(next) return redirect("home") params = { 'form': form, } if next is not None: params["next"] = next context = RequestContext(request) return render_to_response ( template_file, params, context_instance = context )