修复了大部分5月6日学长们发现的bug。

移除了.venv和.idea文件夹。
对数据表进行了重构,部门部分代码重构by 老孟
初步将错误信息硬编码移除
添加了requirements
给新生增加了性别
This commit is contained in:
ladeng07
2022-05-11 02:34:49 +08:00
parent 9c960aa1da
commit a1f83fefcd
13 changed files with 271 additions and 292 deletions
+5 -2
View File
@@ -1,4 +1,4 @@
# Generated by Django 3.2.5 on 2022-05-05 21:56
# Generated by Django 3.2.5 on 2022-05-07 01:48
from django.db import migrations, models
@@ -18,7 +18,10 @@ class Migration(migrations.Migration):
('grade', models.IntegerField(verbose_name='年份')),
('name', models.CharField(max_length=30, verbose_name='事件名称')),
('description', models.CharField(max_length=200, verbose_name='事件描述')),
('img', models.ImageField(upload_to='image', verbose_name='图片')),
('img', models.ImageField(blank=True, null=True, upload_to='image', verbose_name='图片')),
],
options={
'verbose_name_plural': '部门作品',
},
),
]
+7 -4
View File
@@ -11,8 +11,11 @@ class WorksInfoSerializer(serializers.ModelSerializer):
description = serializers.CharField(label="事件描述", max_length=200, required=True)
img = serializers.ImageField(label="图片", required=False)
"""用来校验传入年级是否符合规范"""
def validate_grade(self, value):
if not (2010 < value <= 2021):
raise serializers.ValidationError("不合法输入")
return value
if not (2002 < value <= 2021):
raise serializers.ValidationError(code='42006', detail={'msg': get_msg(42006),
"code": '42006'})
return value
+1 -1
View File
@@ -6,7 +6,7 @@ from ITShowPlatform import settings
urlpatterns = [
path('work/', views.work.as_view()),
path('work/', views.Work.as_view()),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+13 -6
View File
@@ -6,15 +6,21 @@ from rest_framework.views import APIView
from rest_framework.response import Response
from .models import Works
from .serializers import WorksInfoSerializer
from utils.get_msg import get_msg
import logging
# Create your views here.
class work(APIView):
class Work(APIView):
"""获取社团历年的作品"""
def get(self, request):
key = []
data = {"data": key}
for i in range(2012, 2022):
for i in range(2002, 2022):
"""temp用来存储每个年级的作品,方便区分年级"""
temp = {}
try:
works_set = Works.objects.filter(grade=i)
@@ -24,12 +30,13 @@ class work(APIView):
temp['data'] = serializer.data
data['data'].append(temp)
except Exception:
"""如果没有查到数据"""
pass
if len(data['data']) == 0:
data['code'] = 40000
data['msg'] = "error"
"""如果查找的数据为空"""
data['code'] = 45005
data['msg'] = get_msg(45005)
else:
data['code'] = 20000
data['msg'] = 'success'
data['msg'] = get_msg(20000)
return Response(data=data)