예제 #1
0
파일: views.py 프로젝트: ITs-WHY/WhyOnline
 def post(self, request, *args, **kwargs):
     banner = Banner.objects.all()[:3]
     dynamic_login = True
     login_form = DynamicLoginPostForm(request.POST)
     if login_form.is_valid():
         # 没有注册帐号也能登录
         mobile = login_form.cleaned_data['mobile']
         exist_users = UserProfile.objects.filter(mobile_phone=mobile)
         if exist_users:
             user = exist_users[0]
             login(request, user)
         else:
             # 新建一个用户
             user = UserProfile(username=mobile)
             password = str(random.randint(100000, 999999))
             user.set_password(password)
             user.mobile_phone = mobile
             user.save()
             login(request, user)
         next = request.GET.get('next', '')
         if next:
             return HttpResponseRedirect(next)
         return HttpResponseRedirect(reverse('index'))
     else:
         captcha_form = DynamicLoginForm()
         return render(
             request, 'login.html', {
                 'login_form': login_form,
                 'captcha_form': captcha_form,
                 'dynamic_login': dynamic_login,
                 "banners": banner
             })
예제 #2
0
파일: views.py 프로젝트: ITs-WHY/WhyOnline
 def post(self, request, *args, **kwargs):
     banner = Banner.objects.all()[:3]
     register_post_form = RegisterPostForm(request.POST)
     if register_post_form.is_valid():
         mobile = register_post_form.cleaned_data['mobile']
         password = register_post_form.cleaned_data['password']
         # 新建一个用户
         user = UserProfile(username=mobile)
         user.set_password(password)
         user.mobile_phone = mobile
         user.save()
         login(request, user)
         return HttpResponseRedirect(reverse('index'))
     else:
         captcha_form = RegisterGetForm()
         return render(
             request, 'register.html', {
                 'register_post_form': register_post_form,
                 'register_get_form': captcha_form,
                 "banners": banner
             })