修改判题设置;增加web 和 mongodb 数据库的操作
This commit is contained in:
@@ -10,6 +10,8 @@ from django.db.models import Q
|
||||
|
||||
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 .serizalizers import (CreateProblemSerializer, EditProblemSerializer, ProblemSerializer,
|
||||
ProblemTagSerializer, CreateProblemTagSerializer)
|
||||
@@ -35,13 +37,6 @@ class ProblemTagAdminAPIView(APIView):
|
||||
|
||||
def get(self, request):
|
||||
return success_response(ProblemTagSerializer(ProblemTag.objects.all(), many=True).data)
|
||||
keyword = request.GET.get("keyword", None)
|
||||
if not keyword:
|
||||
return error_response(u"参数错误")
|
||||
tags = ProblemTag.objects.filter(name__contains=keyword)
|
||||
return success_response(ProblemTagSerializer(tags, many=True).data)
|
||||
|
||||
|
||||
|
||||
|
||||
def problem_page(request, problem_id):
|
||||
@@ -159,7 +154,7 @@ class TestCaseUploadAPIView(APIView):
|
||||
|
||||
f = request.FILES["file"]
|
||||
|
||||
tmp_zip = "tmp/" + rand_str() + ".zip"
|
||||
tmp_zip = "/tmp/" + rand_str() + ".zip"
|
||||
with open(tmp_zip, "wb") as test_case_zip:
|
||||
for chunk in f:
|
||||
test_case_zip.write(chunk)
|
||||
@@ -192,7 +187,7 @@ class TestCaseUploadAPIView(APIView):
|
||||
return error_response(u"测试用例文件不完整,缺少" + name[0] + ".in")
|
||||
|
||||
problem_test_dir = rand_str()
|
||||
test_case_dir = "test_case/" + problem_test_dir + "/"
|
||||
test_case_dir = settings.TEST_CASE_DIR + "test_case/" + problem_test_dir + "/"
|
||||
|
||||
# 得到了合法的测试用例文件列表 然后去解压缩
|
||||
os.mkdir(test_case_dir)
|
||||
|
||||
Reference in New Issue
Block a user