示例#1
0
文件: vvv.py 项目: sentrywang/image
 def post(self, request):
     data = request.form
     content = data['content']
     title = data['title']
     genre = data['genre']
     mesg = self.valid_data(content, title, genre)
     if mesg:
         return r(mesg)
     notice = Notice(content=content,
                     title=title,
                     genre=genre,
                     image=request.FILES.get('img'))
     notice.save()
     return r('OK')
示例#2
0
文件: views.py 项目: sentrywang/image
def error_code_exception_handler(exc, context):
    if isinstance(exc, ErrorCode):
        return r(exc.code, err_msg=exc.err_msg)
    elif isinstance(exc, (NotAuthenticated, AuthenticationFailed)):
        print(exc)
        return r('USER_NOT_LOGGED_IN')
    elif isinstance(exc, MethodNotAllowed):
        return r('METHOD_NOT_ALLOWED')
    elif isinstance(exc, PermissionDenied):
        user = context['request'].user
        if re.match("CSRF Failed: ", exc.detail):
            return r('CSRF_FAILED')
        if isinstance(user, UserProfile) and user.is_banned:
            return r('USER_BANNED')
        else:
            return r('PERMISSION_DENIED')
    elif isinstance(exc, Ratelimited):
        return r('RATE_LIMITED')

    response = exception_handler(exc, context)
    if response is None:
        logger.exception(exc)
        sentry_exception_handler(request=context)
        return r('INTERNAL_ERROR')
    else:
        return response
示例#3
0
文件: vvv.py 项目: sentrywang/image
    def post(self, request, notice_id):
        data = request.data
        content = data['content']
        title = data['title']
        genre = data['genre']
        mesg = self.valid_data(content, title, genre)
        if mesg:
            return r(mesg)
        notice = get_object_or_404(Notice, id=notice_id)
        notice.content = content
        notice.title = title
        notice.genre = genre
        notice.image = request.FILES.get('img')
        notice.save()

        return r('OK')
示例#4
0
文件: vvv.py 项目: sentrywang/image
 def get(self, request, notice_id):
     notice = get_object_or_404(Notice, id=notice_id)
     notice.mark_unpublish()
     return r('OK')
示例#5
0
文件: vvv.py 项目: sentrywang/image
 def get(self, request):
     notices = Notice.objects.all()
     result = [x.to_dict() for x in notices]
     return r('OK', result)