def post(self, request): image_file = request.FILES.get('image_file', '') if not image_file: return to_json_data(errno=Code.PARAMERR, errmsg='未选择图片上传') if image_file.content_type not in [ 'image/jpeg', 'image/png', 'image/gif' ]: return to_json_data(errno=Code.PARAMERR, errmsg='不能上传非图片类型!') try: image_ext_name = image_file.name.split('.')[-1] except Exception as e: logger.info('获取图片扩展名异常:{}'.format(e)) image_ext_name = 'jpg' # image_file.read():读取文件 result = FDFS_Client.upload_by_buffer(image_file.read(), image_ext_name) if result['Status'] == 'Upload successed.': image_url = settings.FASTDFS_SERVER_DOMAIN + result[ 'Remote file_id'] user = request.user user.avatar_url = image_url user.save(update_fields=['avatar_url']) return to_json_data(data={'image_url': image_url}, errmsg='图片上传成功!') else: logger.info('图片上传到FastDFS服务器失败') return to_json_data(errno=Code.UNKOWNERR, errmsg='上传图片到服务器失败!')
def delete(self, request, type_id): goods_type = models.GoodsType.objects.filter(id=type_id).first() if not goods_type: return to_json_data(errno=Code.PARAMERR, errmsg='要删除的商品种类不存在!') goods_type.is_delete = True goods_type.save() return to_json_data(errmsg='商品种类删除成功!')
def post(self, request): ''' 1 get value 2 check value 3 sava value to mysql/redis 4 give info custom :param request: :return: ''' json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) # 将json转化为dict dict_data = json.loads(json_data) #.decode('utf8') 清除解码 form = RegisterForm(data=dict_data) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') mobile = form.cleaned_data.get('mobile') user = User.objects.create_user(username=username, password=password, mobile=mobile) login(request, user) return to_json_data(errmsg="恭喜您,注册成功!") else: # 定义一个错误信息列表 err_msg_list = [] for item in form.errors.get_json_data().values(): err_msg_list.append(item[0].get('message')) err_msg_str = '/'.join(err_msg_list) return to_json_data(errno=Code.PARAMERR, errmsg=err_msg_str)
def post(self, request): json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) # 将json转化为dict dict_data = json.loads(json_data.decode('utf8')) form = RegisterForm(data=dict_data) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') user = Users.objects.create_user(username=username, password=password) login(request, user) return to_json_data(errmsg="恭喜您,注册成功!") else: # 定义一个错误信息列表 err_msg_list = [] for item in form.errors.get_json_data().values(): err_msg_list.append(item[0].get('message')) err_msg_str = '/'.join(err_msg_list) return to_json_data(errno=Code.PARAMERR, errmsg=err_msg_str)
def post(self, request): # 1. 获取参数 json_data = request.body # byte str if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) dict_data = json.loads(json_data.decode('utf8')) # 2. 校验参数 form = RegisterForm(data=dict_data) if form.is_valid(): # 3. 存入数据到数据 username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') mobile = form.cleaned_data.get('mobile') user = Users.objects.create_user(username=username, password=password, mobile=mobile) login(request, user) # 4. 返回给前端 return to_json_data(errmsg='恭喜您,注册成功!') else: # 定义一个错误信息列表 err_msg_list = [] for item in form.errors.get_json_data().values(): err_msg_list.append(item[0].get('message')) # print(item[0].get('message')) # for test err_msg_str = '/'.join(err_msg_list) # 拼接错误信息为一个字符串 return to_json_data(errno=Code.PARAMERR, errmsg=err_msg_str)
def post(self, request): """ :param request: :return: """ #2.获取前端数据 json_data = request.body #print(json_data,type(json_data)) #3.校验参数 if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) # 将json转化为dict dict_data = json.loads(json_data.decode('utf8')) # 没有解码,会产生bug print(dict_data, type(dict_data)) #4.用户登录,设置session form = LoginForm(data=dict_data, request=request) if form.is_valid(): #5.返回前端 return to_json_data(errmsg="恭喜您,登录成功!") else: # 定义一个错误信息列表 err_msg_list = [] for item in form.errors.get_json_data().values(): err_msg_list.append(item[0].get('message')) err_msg_str = '/'.join(err_msg_list) # 拼接错误信息为一个字符串 return to_json_data(errno=Code.PARAMERR, errmsg=err_msg_str)
def post(self, request): text_file = request.FILES.get('text_file') if not text_file: return to_json_data(errno=Code.PARAMERR, errmsg='未选择文件上传') if text_file.content_type not in ('application/octet-stream', 'application/pdf', 'application/msword', 'application/zip', 'text/plain', 'application/x-rar'): return to_json_data(errno=Code.PARAMERR, errmsg='不能上传非文档类型的文件!') try: text_ext_name = text_file.name.split('.')[-1] except Exception as e: logger.info('获取文档扩展名异常:{}'.format(e)) text_ext_name = 'jpg' try: result = FDFS_Client.upload_by_buffer(text_file.read(), text_ext_name) except Exception as e: logger.info('文档上传出现异常:{}'.format(e)) return to_json_data(errno=Code.UNKOWNERR, errmsg='文档上传出现异常!') if result['Status'] == 'Upload successed.': text_url = settings.FASTDFS_SERVER_DOMAIN + result['Remote file_id'] return to_json_data(data={'text_file': text_url}, errmsg='文档上传成功!') else: logger.info('文档上传到FastDFS服务器失败') return to_json_data(errno=Code.UNKOWNERR, errmsg='上传文档到服务器失败!')
def delete(self, request, tag_id): tag = models.Tag.objects.only('id').filter(id=tag_id).first() if tag: tag.delete() return to_json_data(errmsg='标签删除成功过') else: return to_json_data(errno=Code.PARAMERR, errmsg='标签不存在')
def delete(self, request, group_id): group = Group.objects.filter(id=group_id).first() if not group: return to_json_data(errno=Code.NODATA, errmsg='要删除的组不存在!') group.permissions.clear() group.delete() return to_json_data(errmsg='组删除成功!')
def post(self, request): json_data = request.POST if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg="参数为空,请重新输入") if not request.POST.get('aggree'): return to_json_data(errno=Code.AGGREE, errmsg=error_map[Code.AGGREE]) use_key = ['username', "password", "password_repeat", "email"] dict_data = {} for i in use_key: dict_data[i] = request.POST.get(i) form = RegisterForm(data=dict_data) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') email = form.cleaned_data.get('email') user = User.objects.create(username=username, password=password, email=email) user.save() return render(request, 'login/index.html') else: # 定义一个错误信息列表 err_msg_list = [] for item in form.errors.get_json_data().values(): err_msg_list.append(item[0].get('message')) err_msg_str = '/'.join(err_msg_list) return to_json_data(errno=Code.PARAMERR, errmsg=err_msg_str)
def delete(self, request, doc_id): doc = Docs.objects.filter(is_delete=False, id=doc_id).first() if not doc: return to_json_data(errno=Code.NODATA, errmsg='要删除的文档不存在!') doc.is_delete = True doc.save(update_fields=['is_delete', 'update_time']) return to_json_data(errmsg='文档删除成功!')
def get(self, request, phone): sms_num = ''.join( [random.choice(string.digits) for _ in range(SMS_CODE_NUM)]) redis_conn = get_redis_connection('verify_codes') sms_key = 'sms_{}'.format(phone) sms_flag_key = 'sms_flag_{}'.format(phone) p1 = redis_conn.pipeline() try: p1.setex(sms_flag_key, 60, 1) p1.setex(sms_key, 300, sms_num) p1.execute() except Exception as e: logger.debug('redis执行异常: {}'.format(e)) return to_json_data(errno=Code.UNKOWNERR, errmsg='redis执行异常') try: client = smsclient.ZhenziSmsClient( 'https://sms_developer.zhenzikj.com', '101357', 'bf00ccbc-1f60-4f1c-a739-ba9ec7f4872d') # result = client.send(mobile, '您的验证码为' + sms_num) # res = int(result[8]) res = 0 except Exception as e: logger.debug('短信验证码发送[异常]: {}'.format(e)) return to_json_data(errno=Code.SMSERROR, errmsg=error_map[Code.SMSERROR]) else: if res == 0: logger.info('{}短信验证码发送[成功]: {}'.format(phone, sms_num)) return to_json_data(errmsg='短信验证码发送成功') else: logger.debug('{}短信验证码发送[失败]: {}'.format(phone, sms_num)) return to_json_data(errno=Code.SMSFAIL, errmsg=error_map[Code.SMSFAIL])
def delete(self, request, tag_id): tag = models.Tag.objects.filter(id=tag_id).first() if tag: tag.is_delete = True tag.save(update_fields=['is_delete']) return to_json_data(errmsg='标签删除成功!') else: return to_json_data(errno=Code.PARAMERR, errmsg='需要删除的标签不存在!')
def delete(self, request, course_id): course = Course.objects.only('id').filter(id=course_id, is_delete=False).first() if not course: return to_json_data(errno=Code.NODATA, errmsg='需要删除的视频不存在!') course.is_delete = True course.save(update_fields=['is_delete', 'update_time']) return to_json_data(errmsg='视频删除成功!')
def delete(self, request, banner_id): banner = models.Banner.objects.only('id').filter(id=banner_id).first() if banner: banner.is_delete = True banner.save(update_fields=['is_delete', 'update_time']) return to_json_data(errmsg='轮播图删除成功!') else: return to_json_data(errno=Code.NODATA, errmsg='要删除的轮播图不存在!')
def delete(self, request, news_id): news = models.News.objects.only('id').filter(id=news_id).first() if news: news.is_delete = True news.save(update_fields=['is_delete', 'update_time']) return to_json_data(errmsg='文章删除成功!') else: return to_json_data(errno=Code.NODATA, errmsg='要删除的文章不存在!')
def delete(self, request, user_id): user_instance = User.objects.filter(id=user_id).first() if not user_instance: return to_json_data(errno=Code.PARAMERR, errmsg='要删除的用户不存在!') user_instance.groups.clear() user_instance.user_permissions.clear() user_instance.is_active = False user_instance.save() return to_json_data(errmsg='用户删除成功!')
def delete(self, request, hotnews_id): hot_new = models.HotNews.objects.only('id').filter( id=hotnews_id).first() if hot_new: hot_new.is_delete = True hot_new.save(update_fields=['is_delete', 'update_time']) return to_json_data(errmsg='热门文章删除成功!') else: return to_json_data(errno=Code.PARAMERR, errmsg='要删除的热门文章不存在!')
def delete(self, request, hotnews_id): hotnews = models.HotNews.objects.only('id').filter( id=hotnews_id).first() if hotnews: hotnews.is_delete = True hotnews.save(update_fields=['is_delete']) return to_json_data(errmsg='删除成功') else: return to_json_data(errno=Code.PARAMERR, errmsg='需要更新的热门新闻不存在')
def post(self, request): video_file = request.FILES.get('video_file', '') if video_file.content_type != 'video/mp4': return to_json_data(errno=Code.PARAMERR, errmsg='视频类型错误!') video_name = video_file.name res = get_video_url(video_name) if res: return to_json_data(data={'video_url': res}) else: return to_json_data(errno=Code.PARAMERR, errmsg='视频上传失败')
def delete(self, request, callections_id): tag = models.Callections.objects.only('id').filter( id=callections_id).first() if tag: # 真删 # tag.delete() tag.is_delete = True tag.save(update_fields=['is_delete']) return to_json_data(errmsg="标签删除成功") else: return to_json_data(errno=Code.PARAMERR, errmsg="需要删除的标签不存在")
def post(self, request): json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) dict_data = json.loads(json_data.decode('utf8')) type_name = dict_data.get('title') logo = dict_data.get('logo') image_url = dict_data.get('image_url') if 'http://' not in image_url: return to_json_data(errno=Code.DATAERR, errmsg='图片地址错误!') models.GoodsType.objects.create(name=type_name, logo=logo, image_url=image_url) return to_json_data(errmsg='商品类型添加成功!')
def get(self, request, username): data = { 'username': username, 'count': Users.objects.filter(username=username).count() } return to_json_data(data=data)
def post(self,request,mobile): json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) # 将json转化为dict dict_data = json.loads(json_data.decode('utf8')) useraccount = dict_data.get('username') user_tel = Users.objects.filter(Q(mobile=useraccount) | Q(username=useraccount)).first().mobile print(mobile,user_tel) count = Users.objects.filter(mobile=mobile).count() if count == 0: return to_json_data(errno=Code.NODATA,errmsg="号码不存在!") if mobile != user_tel: return to_json_data(errno=Code.DATAERR,errmsg="号码与注册时不同!") return to_json_data(errno=Code.OK,errmsg="手机验证通过!")
def get(self, request): focus_id = request.GET.get('focus_id', '') if not focus_id: return to_json_data(errno=Code.PARAMERR, errmsg='取关失败!') id_list = focus_id.split('-') user_id = int(id_list[0]) author_id = int(id_list[1]) follow_instance, is_create = Follow.objects.get_or_create( user_id=user_id, followed_id=author_id) follow_instance.status = False follow_instance.save() fans_instance, is_create = Fans.objects.get_or_create( user_id=author_id, follower_id=user_id) fans_instance.status = False fans_instance.save() return to_json_data(errmsg='取关成功!')
def post(self, request): json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PARAMERR]) # 将json转化为dict dict_data = json.loads(json_data.decode('utf8')) tag_name = dict_data.get('name') if tag_name and tag_name.strip(): tag_tuple = models.Callections.objects.get_or_create(name=tag_name) tag_instance, tag_created_bolean = tag_tuple new_tag_dict = {"id": tag_instance.id, "name": tag_instance.name} return to_json_data(errmsg="接口集创建成功", data=new_tag_dict) if tag_created_bolean else \ to_json_data(errno=Code.DATAEXIST, errmsg="接口集名已存在") else: return to_json_data(errno=Code.PARAMERR, errmsg="接口集名为空")
def get(self, request, mobile): # 从数据库中查询是否存在这个手机号 count = User.objects.filter(phone=mobile).count() # 构建数据字典 data = {'count': count, 'mobile': mobile} # 返回json数据给前端 return to_json_data(data=data)
def get(self, request, username): # 从数据库中查询是否存在这个用户名 count = User.objects.filter(username=username).count() # 构建数据字典 data = {'count': count, 'username': username} # 返回json数据给前端 return to_json_data(data=data)
def get(self, request): # 2、校验参数 try: tag_id = int(request.GET.get('tag_id', 0)) except Exception as e: logger.error('标签错误,\n{}'.format(e)) tag_id = 0 try: page = int(request.GET.get('page', 1)) except Exception as e: # 若用户访问的页数大于实际页数,则返回最后一页数据 logger.error("当前页数错误:\n{}".format(e)) page = 1 # 3、从数据库中查询新闻列表数据 news_queryset = models.News.objects.select_related('tag','author'). \ only('title', 'digest', 'image_url', 'update_time', 'tag__name', 'author__username') # title , digest, image_url,update__time,author__name,tag__name # if models.Tag.objects.only('id').filter(is_delete=False,id=tag_id).exists(): # news = news_queryset.filter(is_delete=False,tag_id=tag_id) # else: # news = news_queryset.filter(is_delete=False) news = news_queryset.filter(is_delete=False, tag_id=tag_id)or \ news_queryset.filter(is_delete=False) paginator = Paginator(news, constants.PER_PAGE_NEWS_COUNT) try: news_info = paginator.page(page) except EmptyPage: # 若用户访问的页数大于实际页数,则返回最后一页数据 logging.info("用户访问的页数大于总页数。") news_info = paginator.page(paginator.num_pages) # 序列化输出 news_info_list = [] for n in news_info: news_info_list.append({ 'id': n.id, 'title': n.title, 'digest': n.digest, 'image_url': n.image_url, 'tag_name': n.tag.name, 'author': n.author.username, 'update_time': n.update_time.strftime('%Y年%m月%d日 %H:%M'), }) # 创建返回前端的数据 data = {'total_pages': paginator.num_pages, 'news': news_info_list} return to_json_data(data=data)
def post(self, request): json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map([Code.PARAMERR])) dict_data = json.loads(json_data.decode()) tag_name = dict_data.get('name') if tag_name and tag_name.strip(): tag_tuple = models.Tag.objects.get_or_create(name=tag_name) return to_json_data( errmsg='标签创建成功') if tag_tuple[-1] else to_json_data( errno=Code.DATAEXIST, errmsg='标签已存在') else: return to_json_data(errno=Code.PARAMERR, errmsg='标签名为空')