def endpoint(self, request, *args, **kwargs):
try:
return super(PageView, self).endpoint(request, *args, **kwargs)
except ApiException as e:
if e.error_code == ERROR_CODES.PARAMS:
if self.signature_salt:
return redirect('/error/invalid_signature/')
raise Http404()
if e.error_code == ERROR_CODES.SIGNATURE:
return redirect('/error/invalid_signature/')
if e.error_code == ERROR_CODES.EXPIRED_SIGNATURE:
return redirect('/error/expired_link/')
if e.status_code != 404:
return HttpResponse(e.message, status=e.status_code)
if e.error_code != ERROR_CODES.PERMISSION:
raise Http404()
path = request.get_full_path()
return redirect_to_login(path, settings.LOGIN_URL, 'next')
评论列表
文章目录