Example #1
0
    def post(self, request):
        # 键来源于js
        text_files = request.FILES.get('text_files')
        if not text_files:
            return to_json_data(errno=Code.PARAMERR, errmsg='文件获取失败')

        if text_files.content_type not in ('application/zip',
                                           'application/pdf', 'text/plain',
                                           'application/msowrd'):
            return to_json_data(errno=Code.PARAMERR, errmsg='不能上传非文本吧文件')

        file_ext_name = text_files.name.split('.')[-1]
        # 上传
        try:
            upload_doc = client.upload_by_buffer(text_files.read(),
                                                 file_ext_name=file_ext_name)
        except Exception as e:
            logger.error('文件上传失败{}'.format(e))
            return to_json_data(errno=Code.UNKOWNERR, errmsg='文件上传失败')
        else:
            if upload_doc.get('Status') != 'Upload successed.':
                logger.info('文件上传失败')
                return to_json_data(errno=Code.UNKOWNERR,
                                    errmsg=error_map[Code.PARAMERR])
            else:
                file_name = upload_doc.get('Remote file_id')
                file_url = settings.FDFS_URL + file_name
                return to_json_data(data={'text_file': file_url},
                                    errmsg='文档上传成功')
Example #2
0
 def post(self, request):
     # 得到前端传的文件
     image_file = request.FILES.get('image_file')  # 2018.png
     if not image_file:
         logger.info('获取图片失败')
         return to_json_data(errno=Code.NODATA, errmsg='获取图片失败')
     # 检查图片类型
     if image_file.content_type not in ('image/jpeg', 'image/png',
                                        'image/gif'):
         return to_json_data(errno=Code.DATAERR, errmsg='不能上传非图片文件')
     # 切割名字取图片格式
     try:
         image_ext_name = image_file.name.split('.')[-1]
     except Exception as e:
         logger.info('图片后缀名异常:{}'.format(e))
         image_ext_name = 'jpg'
     # 上传图片
     try:
         upload_res = FDFS_Client.upload_by_buffer(
             image_file.read(), file_ext_name=image_ext_name)
     except Exception as e:
         logger.error('图片上传异常{}'.format(e))
         return to_json_data(errno=Code.UNKOWNERR, errmsg='图片上传异常')
     else:
         # 判断返回的状态码,是否上传成功
         if upload_res.get('Status') != 'Upload successed.':
             logger.info('图片上传到fdfs失败')
             return to_json_data(errno=Code.UNKOWNERR, errmsg='图片上传失败')
         else:
             # 得到上传成功文件的访问路径
             image_name = upload_res.get('Remote file_id')
             image_url = settings.FASTDFS_SERVER_DOMAIN + image_name
             # 将路径返回到前端
             return to_json_data(data={'image_url': image_url},
                                 errmsg='图片上传成功')
Example #3
0
    def put(self, request, doc_id):
        doc = doc_models.Doc.objects.only('id').filter(id=doc_id).first()
        if not doc:
            return to_json_data(errno=Code.NODATA, errmsg='需要更新的文档不存在')
        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 = forms.DocsPubForm(data=dict_data)
        if form.is_valid():
            doc.title = form.cleaned_data.get('title')
            doc.desc = form.cleaned_data.get('desc')
            doc.file_url = form.cleaned_data.get('file_url')
            doc.image_url = form.cleaned_data.get('image_url')
            doc.save()
            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)
Example #4
0
 def put(self, request, course_id):
     course = cre.Course.objects.filter(is_delete=False,
                                        id=course_id).first()
     if not course:
         return to_json_data(errno=Code.NODATA, errmsg='需要更新的课程不存在')
     json_str = request.body
     if not json_str:
         return to_json_data(errno=Code.PARAMERR,
                             errmsg=error_map[Code.PARAMERR])
     dict_data = json.loads(json_str.decode('utf8'))
     # 表单验证
     form = CoursePubForm(data=dict_data)
     if form.is_valid():
         # 循环将所有字段保存到数据库
         for attr, value in form.cleaned_data.items():
             setattr(course, attr, value)
         course.save()
         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)
Example #5
0
    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/gif',
                                           'image/png'):
            return to_json_data(errno=Code.PARAMERR, errmsg='不能上传非图片文件')

        try:  # jpg
            image_ext_name = image_file.name.split('.')[-1]  # 切割后返回列表取最后一个元素尾缀
        except Exception as e:
            logger.info('图片拓展名异常:{}'.format(e))
            image_ext_name = 'jpg'
        # 上传
        try:
            upload_img = client.upload_by_buffer(image_file.read(),
                                                 file_ext_name=image_ext_name)
        except Exception as e:
            logger.info('图片上传失败{}'.format(e))
            return to_json_data(errno=Code.UNKOWNERR, errmsg='图片上传失败')
        else:
            if upload_img.get('Status') != 'Upload successed.':
                logger.info('图片上传失败')
                return to_json_data(errno=Code.UNKOWNERR,
                                    errmsg=error_map[Code.PARAMERR])
            else:
                img_name = upload_img.get('Remote file_id')
                image_url = settings.FDFS_URL + img_name
                return to_json_data(data={'image_url': image_url},
                                    errmsg='图片上传成功')
Example #6
0
    def post(self, request):
        """
        获取表单数据 标题  摘要 图片 文本内容
        数据清洗/判断是否合法
        保存到数据库
        :param request:
        :return:
        """
        json_str = request.body
        if not json_str:
            to_json_data(errno=Code.PARAMERR, errmsg='参数错误')
        dict_data = json.loads(json_str)

        # 数据清洗
        form = NewsPubForm(data=dict_data)
        if form.is_valid():
            # 对于作者更新对于的新闻, 知道新闻是哪个作者发布的
            # 创建实例  不保存到数据库
            newss = form.save(commit=False)
            newss.author_id = request.user.id
            newss.save()
            return to_json_data(errmsg='文章发布成功')
        else:
            err_m_l = []
            for i in form.errors.values():
                err_m_l.append(i[0])
            err_msg_str = '/'.join(err_m_l)
            return to_json_data(errno=Code.PARAMERR, errmsg=err_msg_str)
Example #7
0
 def put(request, tag_id):
     """
      修改标签
     """
     json_str = request.body
     if not json_str:
         return to_json_data(errno=Code.PARAMERR,
                             errmsg=error_map[Code.PARAMERR])
     dict_data = json.loads(json_str.decode('utf8'))
     tag_name = dict_data.get('name')
     # 根据id找到要修改的数据
     tag = models.Tag.objects.only('id').filter(id=tag_id).first()
     if tag:
         if tag_name and tag_name.strip(
         ):  # tag_name.strip() 不能把空格保存到数据库所以要过滤
             # 检查该数据在数据库里是否已存在
             if not models.Tag.objects.only('id').filter(
                     name=tag_name).exists():
                 # 保存
                 tag.name = tag_name
                 tag.save(update_fields=['name'])  # 指定字段更新
                 return to_json_data(errmsg='标签更新成功')
             else:
                 return to_json_data(errno=Code.DATAEXIST, errmsg='标签名已存在')
         else:
             return to_json_data(errno=Code.PARAMERR, errmsg='标签名为空')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='需要更新的标签不存在')
Example #8
0
 def put(self, request, news_id):
     """
     title  digest tag image_url content
     :param request:
     :param news_id:
     :return:
     """
     news = models.News.objects.filter(id=news_id, is_delete=False).first()
     if not news:
         return to_json_data(errno=Code.PARAMERR, errmsg='参数错误')
     js_str = request.body
     if not js_str:
         return to_json_data(errno=Code.PARAMERR, errmsg='参数错误')
     dict_data = json.loads(js_str)
     # 清洗数据
     form = NewsPubForm(data=dict_data)
     if form.is_valid():
         news.title = form.cleaned_data.get('title')
         news.digest = form.cleaned_data.get('digest')
         news.tag = form.cleaned_data.get('tag')
         news.image_url = form.cleaned_data.get('image_url')
         news.content = form.cleaned_data.get('content')
         news.save()
         return to_json_data(errmsg='文章更新成功')
     else:
         err_m_l = []
         for i in form.errors.values():
             err_m_l.append(i[0])
         err_msg_str = '/'.join(err_m_l)
         return to_json_data(errno=Code.PARAMERR, errmsg=err_msg_str)
Example #9
0
    def post(self, request):
        """
        1用户名2密码3确认密码4mobile5短信验证码
        :param request:
        :return:
        """
        json_str = request.body
        if not json_str:
            return to_json_data(errno=Code.PARAMERR, errmsg=[error_map[Code.PARAMERR]])
        # 把json转化为python字典
        data_dict = json.loads(json_str.decode('utf8'))
        # 传到表单
        form = RegisterForm(data=data_dict)

        if form.is_valid():  # is_valid:如果表单没有错误,则返回True,否则返回False。
            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)
            # 第一个参数 request obj 第二个 user obj
            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)
Example #10
0
    def post(self, request):
        text_file = request.FILES.get('text_file')
        if not text_file:
            logger.info('从前端获取文件失败')
            return to_json_data(errno=Code.NODATA, errmsg='从前端获取文件失败')

        if text_file.content_type not in ('application/octet-stream',
                                          'application/pdf', 'application/zip',
                                          'text/plain', 'application/x-rar'):
            return to_json_data(errno=Code.DATAERR, errmsg='不能上传非文本文件')

        try:
            text_ext_name = text_file.name.split('.')[-1]
        except Exception as e:
            logger.info('文件拓展名异常:{}'.format(e))
            text_ext_name = 'pdf'

        try:
            x = text_file.read()
            upload_res = FDFS_Client.upload_by_buffer(
                x, file_ext_name=text_ext_name)
            # upload_res = FDFS_Client.upload_by_buffer(image_file.read(), file_ext_name=image_ext_name)
        except Exception as e:
            logger.error('文件上传出现异常:{}'.format(e))
            return to_json_data(errno=Code.UNKOWNERR, errmsg='文件上传异常')
        else:
            if upload_res.get('Status') != 'Upload successed.':
                logger.info('文件上传到FastDFS服务器失败')
                return to_json_data(Code.UNKOWNERR, errmsg='文件上传到服务器失败')
            else:
                text_name = upload_res.get('Remote file_id')
                text_url = settings.FASTDFS_SERVER_DOMAIN + text_name
                return to_json_data(data={'text_file': text_url},
                                    errmsg='文件上传成功')
Example #11
0
    def post(self, request):
        """
        用户名
        密码
        确认密码
        mobile
        短信验证码
        :param request:
        :return:
        """
        json_str = request.body
        if not json_str:
            return to_json_data(errno=Code.PARAMERR, errmsg=[error_map[Code.PARAMERR]])
        data_dict = json.loads(json_str.decode('utf8'))  #json转字典类型
        form = RegisterForm(data=data_dict)

        if form.is_valid(): #拿个表单具体去校验。
            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)  #有保存session信息
            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)
Example #12
0
    def post(self, request):
        image_file = request.FILES.get('image_file')  # 2018.png

        if not image_file:
            logger.info('获取图片失败')
            return to_json_data(errno=Code.NODATA, errmsg='获取图片失败')
        if image_file.content_type not in ('image/jpeg', 'image/png',
                                           'image/gif'):
            return to_json_data(errno=Code.DATAERR, errmsg='不能上传非图片文件')

        try:
            image_ext_name = image_file.name.split('.')[-1]
        except Exception as e:
            logger.info('图片后缀名异常:{}'.format(e))
            image_ext_name = 'jpg'
        try:
            upload_res = FDFS_Client.upload_by_buffer(
                image_file.read(), file_ext_name=image_ext_name)
        except Exception as e:
            logger.error('图片上传异常{}'.format(e))
            return to_json_data(errno=Code.UNKOWNERR, errmsg='图片上传异常')
        else:
            if upload_res.get('Status') != 'Upload successed.':
                logger.info('图片上传到fdfs失败')
                return to_json_data(errno=Code.UNKOWNERR, errmsg='图片上传失败')
            else:
                image_name = upload_res.get('Remote file_id')
                image_url = settings.FDFS_URL + image_name
                return to_json_data(data={'image_url': image_url},
                                    errmsg='图片上传成功')
Example #13
0
    def put(self, request, news_id):
        news = models.News.objects.only('id').filter(id=news_id).first()
        if not news:
            return to_json_data(errno=Code.NODATA, errmsg='需要更新的文章不存在')

        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'))
        form = NewsPubForm(data=dict_data)
        if form.is_valid():
            news.title = form.cleaned_data.get('title')
            news.digest = form.cleaned_data.get('digest')
            news.content = form.cleaned_data.get('content')
            news.image_url = form.cleaned_data.get('image_url')
            news.tag = form.cleaned_data.get('tag')
            news.save()
            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)
Example #14
0
    def post(self, request):
        """
        用户名
        密码
        确认密码
        mobile
        短信验证码
        :param request:
        :return:
        """
        json_str = request.body
        if not json_str:
            return to_json_data(errno=Code.PARAMERR, errmsg='参数错误')
        data_dict = json.loads(json_str.decode('utf8'))
        form = RegisterForm(data=data_dict)

        if form.is_valid():
            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)

            # 第一个参数 request obj  第二个 user obj
            # 注册成功把用户id 保存到session里面  session_id 返回给cookie
            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)
Example #15
0
 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.NODATA, errmsg="需要删除的标签不存在")
Example #16
0
    def post(self, request):
        " mobile  text  iamge_code_id"
        # 获取前台传过来的数据request.body
        json_str = request.body
        if not json_str:
            return to_json_data(errno=Code.PARAMERR, errmsg='参数为空')
        dict_data = json.loads(json_str)  # json数据转化为字典
        form = forms.FromRegister(data=dict_data)

        if form.is_valid():
            mobile = form.cleaned_data.get('mobile')
            # 生成6位短信验证码
            sms_num = '%06d' % random.randint(0, 999999)

            # 构建外键
            # 连接数据库
            con_redis = get_redis_connection(alias='verify_codes')
            # 短信建  5分钟  sms_num
            sms_text_flag = "sms_{}".format(mobile).encode('utf8')
            # 过期时间
            sms_flag_fmt = 'sms_flag_{}'.format(mobile).encode('utf8')
            # 存入redis
            pl = con_redis.pipeline()  # 运用redis的管道技术,先获所有的值,然后在存入
            pl.setex(sms_text_flag, 300, sms_num)  # 设置短信验证码的有效时间,后面为短信验证码
            pl.setex(sms_flag_fmt, 60, 1)  # 设置点击发送验证码的有效时间,后面为放入的值,随便写
            pl.execute()  # 触发

            # 发送短信
            logger.info('短信验证码是:{}'.format(sms_num))
            logging.info('发送短信验证码正常[mobile:%s,sms_num:%s]' % (mobile, sms_num))
            return to_json_data(errmsg='短信验证码发送成功')

            # 使用celery异步处理短信发送任务
            # expires = 300
            # sms_tasks.send_sms_code.delay(mobile, sms_num, expires, 1)
            # return to_json_data(errno=Code.OK, errmsg="短信验证码发送成功")

            # 调用接口发送短信
            # try:
            #     result = CCP().send_template_sms(mobile,
            #                                      [sms_num, constants.SMS_CODE_EXPIRES],
            #                                      constants.SMS_CODE_TEMP_ID)
            # except Exception as e:
            #     logger.error("发送验证码短信[异常][ mobile: %s, message: %s ]" % (mobile, e))
            #     return to_json_data(errno=Code.SMSERROR, errmsg=error_map[Code.SMSERROR])
            # else:
            #     if result == 0:
            #         logger.info("发送验证码短信[正常][ mobile: %s sms_code: %s]" % (mobile, sms_num))
            #         return to_json_data(errmsg='短信发送正常')
            #     else:
            #         logger.warning("发送验证码短信[失败][ mobile: %s ]" % mobile)
            #         return to_json_data(errno=Code.SMSFAIL, errmsg=error_map[Code.SMSFAIL])

        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)
Example #17
0
 def delete(self, request, tag_id):
     tag = models.Tag.objects.only('id').filter(id=tag_id).first()
     if tag:
         tag.is_delete = True
         tag.save()
         return to_json_data(errmsg="标签删除成功")
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg="需要删除的标签不存在")
Example #18
0
 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'])
         return to_json_data(errmsg='轮播图删除成功!')
     else:
         return to_json_data(errno=Code.NODATA, errmsg='轮播图不存在')
Example #19
0
 def delete(self, request, doc_id):
     docs = Doc.objects.filter(is_delete=False, id=doc_id).first()
     if docs:
         docs.is_delete = True
         docs.save(update_fields=['is_delete'])
         return to_json_data(errmsg='文档删除成功')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='查找的文档不存在')
Example #20
0
 def delete(self, request, group_id):
     group = Group.objects.filter(id=group_id).first()
     if group:
         group.permissions.clear()  # 清空权限
         group.delete()
         return to_json_data(errmsg='删除成功')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='需要删除的用户组不存在')
Example #21
0
 def delete(self, request, doc_id):
     doc = doc_models.Doc.objects.only('id').filter(id=doc_id).first()
     if doc:
         doc.is_delete = True
         doc.save(update_fields=['is_delete'])
         return to_json_data(errmsg='文档删除成功')
     else:
         to_json_data(errno=Code.PARAMERR, errmsg='需要删除的文档不存在')
Example #22
0
    def post(self, request):
        """
        1,校验图片是否正确
        2,判断60秒内是否有发送记录
        3,构造6位短信验证码
        4,保存数据
        5,发送短信
        """
        json_str = request.body  # " mobile  text  iamge_code_id"
        if not json_str:
            return to_json_data(errno=Code.PARAMERR, errmsg='参数为空')
        dict_data = json.loads(json_str)
        form = forms.FromRegister(data=dict_data)

        if form.is_valid():
            mobile = form.cleaned_data.get('mobile')
            # 生成6位短信验证码
            sms_num = '%06d' % random.randint(0, 999999)

            # 构建外键
            con_redis = get_redis_connection('verify_codes')
            # 短信建  5分钟  sms_num
            sms_text_flag = "sms_{}".format(mobile).encode('utf8')
            # 过期时间
            sms_flag_fmt = 'sms_flag_{}'.format(mobile).encode('utf8')
            # 存
            con_redis.setex(sms_text_flag, 300, sms_num)
            con_redis.setex(sms_flag_fmt, 60, 1)  # 过期时间  1

            # 发送短信
            logger.info('短信验证码:{}'.format(sms_num))

            # 使用celery异步发送短信
            expires = 300
            sms_task.send_sms_code.delay(mobile, sms_num, expires, 1)
            return to_json_data(errmsg='短信验证码发送成功')

            # logging.info('发送短信验证码正常[mobile:%s,sms_num:%s]' % (mobile, sms_num))
            # return to_json_data(errmsg='短信验证码发送成功')

            # try:
            #     result = CCP().send_template_sms(mobile, [sms_num, 5], 1)
            # except Exception as e:
            #     logger.error('发送短信异常[mobile:%s message:%s]' % (mobile, e))
            #     return to_json_data(errno=Code.SMSERROR, errmsg=error_map[Code.SMSERROR])
            # else:
            #     if result == 0:
            #         logging.info('发送短信验证码成功[mobile:%s,sms_num:%s]' % (mobile, sms_num))
            #         return to_json_data(errmsg='短信验证码发送成功')
            #     else:
            #         logging.info('发送短信验证码失败')
            #         return to_json_data(errno=Code.SMSFAIL, errmsg=error_map[Code.SMSFAIL])
        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)
Example #23
0
 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="需要删除的热门文章不存在")
Example #24
0
 def delete(self, request, news_id):
     news = models.News.objects.only('id').filter(is_delete=False,
                                                  id=news_id).first()
     if news:
         news.is_delete = True
         news.save()
         return to_json_data(errmsg='文章删除成功')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='该文章删除失败')
Example #25
0
 def delete(self, request, b_id):
     banners = models.Banner.objects.only('id').filter(is_delete=False,
                                                       id=b_id).first()
     if banners:
         banners.is_delete = True
         banners.save(update_fields=['is_delete'])
         return to_json_data(errmsg='轮播图删除成功')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='查找的轮播图不存在')
Example #26
0
 def delete(self, request, course_id):
     course = cre.Course.objects.only('id').filter(is_delete=False,
                                                   id=course_id).first()
     if course:
         course.is_delete = True
         course.save(update_fields=['is_delete'])
         return to_json_data(errmsg='课程删除成功')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='更新的课程不存在')
Example #27
0
 def delete(self, request, news_id):
     news = models.News.objects.only('id').filter(id=news_id,
                                                  is_delete=False).first()
     if news:
         news.is_delete = True
         news.save(update_fields=['is_delete'])
         return to_json_data(errmsg='文章删除成功')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='需要删除的文章不存在')
Example #28
0
 def delete(self, request, user_id):
     user_instance = Users.objects.filter(id=user_id).first()
     if user_instance:
         user_instance.groups.clear()  # 去除用户组
         user_instance.user_permissions.clear()  # 清楚用户权限
         user_instance.is_active = False
         user_instance.save()
         return to_json_data(errmsg='用户删除成功')
     else:
         return to_json_data(errno=Code.PARAMERR, errmsg='需要删除的用户不存在')
Example #29
0
 def delete(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="需要删除的标签不存在")
Example #30
0
    def post(self, request):
        " mobile  text  image_code_id"
        json_str = request.body
        if not json_str:
            return to_json_data(errno=Code.PARAMERR, errmsg='参数为空')
        dict_data = json.loads(json_str)
        form = forms.FromRegister(data=dict_data)

        if form.is_valid():
            mobile = form.cleaned_data.get('mobile')
            # 生成6位短信验证码
            sms_num = '%06d' % random.randint(0, constants.RANDOM_TEMPLATE)

            # 构建外键
            con_redis = get_redis_connection('verify_codes')
            # 短信建  5分钟  sms_num
            sms_text_flag = "sms_{}".format(mobile).encode('utf8')
            # 过期时间
            sms_flag_fmt = 'sms_flag_{}'.format(mobile).encode('utf8')
            # 存
            con_redis.setex(sms_text_flag, constants.SMS_CODE_EXPIRES, sms_num)
            con_redis.setex(sms_flag_fmt, constants.SMS_CODE_EXPIRES_TIME,
                            constants.SMS_TEMPLATE)  # 过期时间  1

            # 发送短信
            logger.info('短信验证码:{}'.format(sms_num))

            # 使用celery 异步发送短信
            # expires  =constants.SMS_CODE_EXPIRES
            # task.send_sms_code.delay(mobile,sms_num,expires,constants.SMS_TEMPLATE)
            # return to_json_data(errmsg='短信验证码发送成功')

            logging.info('发送短信验证码正常[mobile:%s,sms_num:%s]' % (mobile, sms_num))
            return to_json_data(errmsg='短信验证码发送成功')
            # try:
            #     result = CCP().send_template_sms(mobile,[sms_num,5],1)
            # except Exception as e:
            #     logger.error('发送短信异常[mobile : %s message: %s]'% (mobile,e))
            #     return to_json_data(errno=Code.SMSERROR,errmsg=error_map[Code.SMSERROR])
            # else:
            #     if result == 0:
            #         logger.info('发送短信验证码成功[mobile : %s sms_code: %s]'% (mobile,sms_num))
            #         return to_json_data(errmsg='短信验证码发送成功')
            #     else:
            #         logger.warning('发送短信失败 mobile: {}'.format(mobile))
            #         return to_json_data(errno=Code.SMSFAIL,errmsg=error_map[Code.SMSFAIL])

        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)