def register(request): form = RegisterForm(request.POST or None) if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password2'] #MyUser.objects.create_user(username=username, email=email, password=password) new_user = MyUser() new_user.username = username new_user.email = email new_user.is_active = False messages.success(request, "Enregistrement terminé. Votre compte est maintenant en attente d'activation") #new_user.password = password #WRONG new_user.set_password(password) #RIGHT new_user.save() action_url = reverse("register") title = "Register" submit_btn = "Create free account" context = { "form": form, "action_url": action_url, "title": title, "submit_btn": submit_btn } return render(request, "registration/registration_form.html", context)
def create(self, validated_data): user = MyUser( **validated_data ) user.set_password(validated_data['password']) user.save() return user
def business_signup(request): if request.user.is_authenticated(): return redirect("home") else: form = RegisterForm(request.POST or None) next_url = request.POST.get('next') if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password2'] new_user = MyUser() new_user.username = username new_user.email = email new_user.set_password(password) new_user.save() user = authenticate(username=username, password=password) if user is not None: new_advertiser, created = Advertiser.objects.get_or_create( user=user) new_advertiser.save() login(request, user) if next_url is not None: return HttpResponseRedirect(next_url) return HttpResponseRedirect(reverse("home")) context = { "form": form, "action_url": reverse("contact:business_signup"), } return render(request, 'advertisers/business_signup.html', context)
def google_oauth_callback(request): state = request.GET['state'] credentials = Google.exchange_code(request.GET['code'], state) if state == 'login': profile_str = Google.get_profile(credentials) profile = json.loads(profile_str) try: user = MyUser.objects.get(email=profile['email']) except ObjectDoesNotExist: user = None if user is None: user = MyUser(name=profile['name'], email=profile['email'], picture_url=profile['picture']) user.save() request.session['user_id'] = user.id return redirect(reverse('connect_apps')) elif state == 'gmail': # store gmail oauth credentials in db try: gmail_auth = Gmail.objects.get(user__id=request.session['user_id']) except ObjectDoesNotExist: gmail_auth = None if gmail_auth is None: user = MyUser.objects.get(id=request.session['user_id']) gmail_auth = Gmail(user=user, credentials_json=credentials.to_json()) gmail_auth.save() else: gmail_auth.credentials_json = credentials.to_json() gmail_auth.save() return redirect(reverse('close_window'))
def create(self, validated_data): username = validated_data['username'] email = validated_data['email'] password = validated_data['password'] user_obj = MyUser(username=username, email=email) user_obj.set_password(password) user_obj.save() return validated_data
def new_account(request): email = request.POST['email'] user = MyUser(email=email) # 注意:save 方法和 objects.create() 方法有很大区别 # 例如,数据库中已经存储了一个电子邮箱地址, # 如果再用这个地址,前者不会报错,后者会报如下错误 # django.db.utils.IntegrityError: # UNIQUE constraint failed: accounts_myuser.email user.save() response = HttpResponse(user.email) return response
def register(request): if request.method == 'POST': username = request.POST['usr_name'] usr_paaaword = request.POST['usr_password'] usr_password_check = request.POST['usr_password_check'] usr_email = request.POST['usr_email'] xieyi = request.POST.getlist('xieyi') re_email = r"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?" url_jump = request.get_full_path() # 判断是否输入用户名 if not username: tips = '用户名不能为空' return render(request, 'accounts/jump.html', locals()) # 判断用户名个是否已存在 if MyUser.objects.filter(username=username): tips = '用户名已存在' return render(request, 'accounts/jump.html', locals()) # 判断密码是否为正确长度 if 6 > len(usr_paaaword) or len(usr_paaaword) > 20: tips = '请输入正确的密码长度' return render(request, 'accounts/jump.html', locals()) # 判断两次密码是否相同 if usr_paaaword != usr_password_check: tips = '两次密码不同' return render(request, 'accounts/jump.html', locals()) # 判断是否同意协议 if not xieyi: tips = '未同意协议' return render(request, 'accounts/jump.html', locals()) # 判断是否输入了正确的邮箱 if not search(re_email, usr_email): tips = '未请输入正确的邮箱' return render(request, 'accounts/jump.html', locals()) # 判断邮箱是否存在 if MyUser.objects.filter(email=usr_email): tips = '邮箱已存在' return render(request, 'accounts/jump.html', locals()) # 注册成功 tips = '注册成功' url_jump = request.POST['next_url'] user = MyUser() # 创建用户对象 user.username = username user.password = make_password(usr_paaaword) user.email = usr_email # user.is_staff = True # 允许用户登录后台 user.save() user = MyUser.objects.get(username=username) group = Group.objects.get(name='注册会员') user.groups.add(group) return render(request, 'accounts/jump.html', locals()) else: next_url = request.GET.get('next', '/accounts/login') return render(request, 'accounts/register.html', locals())
def home(request): form = RegisterForm(request.POST or None) if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password2'] #MyUser.objects.create_user(username=username, email=email, password=password) new_user = MyUser() new_user.username = username new_user.email = email #new_user.password = password #WRONG new_user.set_password(password) #RIGHT new_user.save() #ADD MESSAGE for success. return redirect('login') #return HttpResponseRedirect(reverse('login')) # name = "Justin" # videos = Video.objects.all() # embeds = [] # for vid in videos: # code = mark_safe(vid.embed_code) # embeds.append("%s" %(code)) context = { "form": form, "action_value": "", "submit_btn_value": "Register", # "the_name": name, # "number": videos.count(), # "videos": videos, # "the_embeds": embeds, # "a_code": mark_safe(videos[0].embed_code) } return render(request, "form.html", context)
def home(request): form = RegistrationForm(request.POST or None) if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password2'] # MyUser.objects.create_user(username=username, email=email, password=password) new_user = MyUser() new_user.username = username new_user.email = email # new_user.password = password #WRONG new_user.set_password(password) #RIGHT new_user.save() #ADD MESSAGE fpr success. return redirect('login') #return HttpResponseRedirect(reverse('login')) # name = "Tim" # videos = Video.objects.all() # embeds = [] # for vid in videos: # code = mark_safe(vid.embed_code) # embeds.append("%s" %(code)) context = { "form": form, "action_value": "", "submit_btn_value": "Register", # "the_name": name, # "number": videos.count(), # "videos": videos, # "embeds": embeds, # "a_code": videos[0].embed_code } return render(request, "home.html", context)
def home (request): form = RegistrationForm(request.POST or None) if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password1'] #MyUser.objects.create_user(username=username, email=email, password=password) new_user = MyUser() new_user.username = username new_user.email = email new_user.set_password(password) new_user.save() #Add message for success return redirect('login') print username, email, password # name = "Summer" # videos = Video.objects.all() # embeds = [] # for vid in videos: # code = mark_safe(vid.embed_code) # embeds.append("%s" % code) context = { "form":form, "action_value":"", "submit_btn_value":"Register" # "the_name":name, # "number" :videos.count(), # "videos" :videos, # "embeds" :embeds, # "a_code" :mark_safe(videos[0].embed_code) } return render(request, "form.html", context)
def register_view(request): print (request.user.is_authenticated()) if request.user.is_authenticated(): raise Http404 next = request.GET.get('next') title = "Register" form = UserRegisterForm(request.POST or None) if form.is_valid(): #MyUser = form.save(commit=False) username = form.cleaned_data.get('username') email = form.cleaned_data.get('email') password2 = form.cleaned_data.get('password2') #MyUser.objects.create_user(username=username, email=email, password=password) new_user = MyUser() new_user.username = username new_user.email = email new_user.set_password(password2) #RIGHT new_user.save() new_user = authenticate(username=username, password=password2) login(request, new_user) #return redirect("login") if next: return redirect(next) # Add message for success #return something good return redirect('/home') #return HttpResponseRedirect(reverse('/')) #action_url = reverse("register") context = { 'form':form, 'title':title, } return render(request, "form.html", context)
def add_model(request,model,template_name=""): # show_model(request,model,template_name) # print(); result = ""; if request.method == 'POST': print('add') if request.POST.get('mode')=='add_cart_item': cart.add_to_cart(request) cart_items_list = [] cart_items = cart.get_cart_items(request) # serializers.serialize("json", ) cart_item_count = cart.cart_distinct_item_count(request) # result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count} # print(cart_item_count) for c in cart_items: # print(c) item = {} item.setdefault('image',c.image()) item.setdefault('name',c.name()) item.setdefault('quantity',c.quantity) price = str(c.price()) item.setdefault('unit_price',price) total = str(c.total()) item.setdefault('total_price',total) item.setdefault('id',c.id) # print(item) cart_items_list.append(item) # print(cart_items_list) # cart_items = serializers.serialize("json", cart_items_list) # print(cart_items) result = {'cart_items' : cart_items_list ,'cart_item_count' : cart_item_count} # print(json.dumps(result)) print('++++++++++++++++++++++++++++++') return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8') else: if model == 'people': name = request.POST.get('name') islug = slug(name) category = Category() category.name = name category.description = request.POST.get('description') is_active = request.POST.get('is_active') if is_active=="on": category.is_active = True else: category.is_active = False category.slug = islug category.updated_at = datetime.datetime.now().strftime("%m/%d/%Y") category.created_at = datetime.datetime.now().strftime("%m/%d/%Y") category.save() result = "saved" print('add people') elif model == 'subcategory': subcategory = SubCategory() subcategory.name = request.POST.get('name') subcategory.description = request.POST.get('description') subcategory.slug = slug(subcategory.name) is_active = request.POST.get('is_active') subcategory.updated_at = datetime.datetime.now().strftime("%m/%d/%Y") subcategory.created_at = datetime.datetime.now().strftime("%m/%d/%Y") if is_active=="on": subcategory.is_active = True else: subcategory.is_active = False subcategory.save() selected_c = json.loads(request.POST.get('selected_categories')) for s_c in selected_c: c = get_object_or_404(Category, slug=s_c) subcategory.categories.add(c) subcategory.save() print('add subcategory') elif model == 'product': p = Product() postdata = request.POST.copy() p.name = postdata.get('name','a') product_name = postdata.get('name','a') p.brand = postdata.get('brand') p.sku = postdata.get('sku') p.price = postdata.get('price') p.old_price = postdata.get('old_price') p.quantity = postdata.get('quantity') p.description = postdata.get('description') # print(postdata.get('user')) user = get_object_or_404(MyUser, username=postdata.get('user')) p.user = user p.slug = slug(p.name) is_active = request.POST.get('is_active') if is_active=="on": p.is_active = True else: p.is_active = False p.updated_at = datetime.datetime.now().strftime("%m/%d/%Y") p.created_at = datetime.datetime.now().strftime("%m/%d/%Y") if request.FILES: print('image_exist') p_main_file=request.FILES['img'] file_extention = os.path.splitext(str(request.FILES['img']))[1] # print(file_extention) # file_name = str(request.FILES['img']).split('.') # file_extention = file_name[len(file_name)-1] image_name = str(user)+'_'+p.name+file_extention p_thumbnail_file=request.FILES['img'] with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'wb+') as destination: if p_thumbnail_file.multiple_chunks(): for chunk in p_thumbnail_file.chunks(): destination.write(chunk) else: destination.write(p_thumbnail_file.read()) with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'rb+') as destination: image_file = destination.read() with open(MEDIA_ROOT+'images/products/main/'+image_name, 'wb+') as destination: destination.write(image_file) p.image=image_name else: print('image_empty') p.image='default' p.save() selected_subc = json.loads(request.POST.get('selected_subcategories')) for p_subc in selected_subc: subc = get_object_or_404(SubCategory, slug=p_subc) p.subcategories.add(subc) p.save() print('add product') elif model == 'myuser': user = MyUser() postdata = request.POST.copy() user.username = postdata.get('name') user.first_name = postdata.get('first_name') user.last_name = postdata.get('last_name') ##########change date format###########YYYY-MM-DD # date_of_birth = postdata.get('date_of_birth') # date_list = date_of_birth.split('/') # join_str = '-' # user.date_of_birth = join_str.join(date_list) user.date_of_birth = postdata.get('date_of_birth') ######################################## user.address = postdata.get('address','a') user.telephone = postdata.get('telephone') user.password = make_password(postdata.get('password')) user.is_active = True user.is_staff = True user.save() print('add myuser') elif model == 'order': order = Order() postdata = request.POST.copy() myuser = get_object_or_404(MyUser, username=postdata.get('user')) print(postdata) order.address = myuser.address order.phone = myuser.telephone order_status = get_object_or_404(OrderStatus, id=postdata.get('status')) print(order_status.name) order.status = order_status order.ip_address = postdata.get('ip_address') # user = get_object_or_404(MyUser, username=postdata.get('user')) order.user = myuser order.transaction_id = postdata.get('transaction_id') order.last_updated = datetime.datetime.now().strftime("%m/%d/%Y") order.save() print(order.id); cart_items = cart.get_cart_items(request) for c in cart_items: orderitem = OrderItem() orderitem.product = c.product orderitem.price = c.price() orderitem.quantity = c.quantity orderitem.order = order orderitem.save() print('add order') elif model == 'orderitem': orderitem = OrderItem() postdata = request.POST.copy() product = get_object_or_404(Product, slug=postdata.get('product')) orderitem.product = product orderitem.price = product.price orderitem.quantity = postdata.get('quantity') order = get_object_or_404(Order, id=postdata.get('order')) orderitem.order = order orderitem.save() print('add orderitem') # return show_model(request,model,'') url = urlresolvers.reverse('model',kwargs = {'model':model}) return HttpResponseRedirect(url) else: app_list = permission_app(request) # print('_________________addpermission_________________') if check_permission(request,'add',model): if model == 'people': print('category') elif model == 'subcategory': category = Category.objects.all() print('subcategory') elif model == 'product': user_list = MyUser.objects.all() subcategory = SubCategory.objects.all() print('product') print(subcategory) elif model == 'myuser': print('myuser') elif model == 'order': cart.clean(request) user_list = MyUser.objects.all() product = Product.objects.all() order_status = OrderStatus.objects.all() # print(request.GET) # print('-------------------------------') # cart.add_to_cart(request) # cart_items = serializers.serialize("json", cart.get_cart_items(request)) # cart_item_count = cart.cart_distinct_item_count(request) # result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count} # print(result) # print('++++++++++++++++++++++++++++++=') # return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8') print('order') elif model == 'orderitem': product = Product.objects.all() order_list = Order.objects.all() print('orderitem') # subcategories = SubCategory.objects.all() template_name = 'myadmin/add/'+model+'.html' return render_to_response(template_name, locals(),context_instance=RequestContext(request)) else: template_name = 'myadmin/err.html' return render_to_response(template_name, locals(),context_instance=RequestContext(request))
def register(request): errors= [] account=None password=None password2=None email=None CompareFlag=False mobile = None role = None rules = Rule.objects.all() roles_departments = Roles.objects.all() if request.method == 'POST': if not request.POST.get('account'): errors.append('请输入用户名') else: account = request.POST.get('account') temp_user3 = MyUser.objects.filter(username=account) if len(temp_user3) != 0: errors.append('该用户名已注册') if not request.POST.get('password'): errors.append('请输入密码') else: password = request.POST.get('password') if not request.POST.get('password2'): errors.append('请再次输入密码') else: password2 = request.POST.get('password2') if not request.POST.get('email'): errors.append('请输入邮箱') else: email = request.POST.get('email') temp_user1 = MyUser.objects.filter(email=email) if len(temp_user1) != 0: errors.append('该邮箱已注册') if not request.POST.get('mobile'): errors.append('请输入手机号') else: mobile = request.POST.get('mobile') temp_user2 = MyUser.objects.filter(mobile=mobile) if len(temp_user2) != 0: errors.append('该手机号已注册') if not request.POST.get('role'): errors.append('请选择职位') else: role = request.POST.get('role') if not request.POST.get('rule'): errors.append('请选择角色') else: rule = request.POST.get('rule') if password is not None and password2 is not None: if password == password2: CompareFlag = True else : errors.append('两次输入的密码不一致') if len(errors)>0: return render_to_response('register.html', {'errors': errors,'account':account,'email':email,'mobile':mobile,'rules':rules,'roles_departments':roles_departments}) if account is not None and password is not None and password2 is not None and email is not None and mobile is not None and role is not None and CompareFlag and len(temp_user1) == 0 and len(temp_user2) == 0 and len(temp_user3) == 0: now = timezone.now() user = MyUser(username=account,last_login=now,date_joined=now,email=email) user.is_active = True user.set_password(password) user.mobile = str(mobile) # user.rule = role user.save() rule_obj = Rule.objects.get(id= int(rule)) role_obj = Roles.objects.get(id = int(role)) rules = Rule.objects.all() roles_departments = Roles.objects.all() rule_powers = Cor_Rule_Power.objects.filter(RuleID=rule_obj) Cor_User_Rule.objects.get_or_create( RuleID=rule_obj, UserID=user, ) for power in rule_powers: Cor_user_Power.objects.get_or_create( PowerID = power.PowerID, UserID =user, ) Cor_role_user_depart.objects.get_or_create( UserID=user, RoleID=role_obj, ) add() return HttpResponseRedirect('/accounts/login') else: return render_to_response('register.html', {'errors': errors,'account':account,'email':email,'mobile':mobile,'rules':rules,'roles_departments':roles_departments})