From 11a4c0444374fb329c6ceb0dd521113fc34e7262 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Fri, 14 Aug 2015 10:22:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=BD=BF=E7=94=A8=20error=5F?= =?UTF-8?q?page=20=E7=9A=84=E5=BD=A2=E5=BC=8F=E8=BF=94=E5=9B=9E=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- announcement/views.py | 4 ++-- problem/views.py | 5 +++-- utils/shortcuts.py | 8 +++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/announcement/views.py b/announcement/views.py index cdcd8a0e..07d1e642 100644 --- a/announcement/views.py +++ b/announcement/views.py @@ -4,7 +4,7 @@ from rest_framework.views import APIView from django.shortcuts import render from utils.shortcuts import serializer_invalid_response, error_response, success_response -from utils.shortcuts import paginate +from utils.shortcuts import paginate, error_page from .models import Announcement from .serializers import (CreateAnnouncementSerializer, AnnouncementSerializer, EditAnnouncementSerializer) @@ -14,7 +14,7 @@ def announcement_page(request, announcement_id): try: announcement = Announcement.objects.get(id=announcement_id, visible=True) except Announcement.DoesNotExist: - return render(request, "utils/error.html", {"error": u"模板不存在"}) + return error_page(request, u"模板不存在") return render(request, "oj/announcement/announcement.html", {"announcement": announcement}) diff --git a/problem/views.py b/problem/views.py index a65aa4c3..4d13d44e 100644 --- a/problem/views.py +++ b/problem/views.py @@ -12,7 +12,8 @@ from rest_framework.views import APIView from django.conf import settings -from utils.shortcuts import serializer_invalid_response, error_response, success_response, paginate, rand_str +from utils.shortcuts import (serializer_invalid_response, error_response, + success_response, paginate, rand_str, error_page) from .serizalizers import (CreateProblemSerializer, EditProblemSerializer, ProblemSerializer, ProblemTagSerializer, CreateProblemTagSerializer) from .models import Problem, ProblemTag @@ -43,7 +44,7 @@ def problem_page(request, problem_id): try: problem = Problem.objects.get(id=problem_id) except Problem.DoesNotExist: - return render(request, "utils/error.html", {"error": u"题目不存在"}) + return error_page(request, u"题目不存在") return render(request, "oj/problem/problem.html", {"problem": problem, "samples": json.loads(problem.samples)}) diff --git a/utils/shortcuts.py b/utils/shortcuts.py index a2543461..7d391375 100644 --- a/utils/shortcuts.py +++ b/utils/shortcuts.py @@ -3,17 +3,23 @@ import hashlib import time import random +from django.shortcuts import render from django.core.paginator import Paginator from rest_framework.response import Response +def error_page(request, error_reason): + return render(request, "utils/error.html", {"error": error_reason}) + + def error_response(error_reason): return Response(data={"code": 1, "data": error_reason}) def serializer_invalid_response(serializer): - return error_response(serializer.errors) + for k, v in serializer.errors.iteritems(): + return error_response(k + " : " + v[0]) def success_response(data):