修复炒鸡炒鸡多的bug

bug有(不完全统计)
- 报名状态id与文档不符
- 查找手机号的正则没有17X和19X号段
- 弹幕,新生信息在后台没有展示详细字段和筛选功能
- 后台界面套了cdn导致的缓存错误,使别的电脑也能直接进入后台
- 验证码发送点太快会发送两次(应该是验证码直接写入数据库用时太长的原因)
- 目标邮箱不存在会直接报错(貌似是qq邮箱才会这样,换了爱特的公邮就没有这个)
- 弹幕页面如果切换到其他页面再回来会导致弹幕扎堆(前端bug)
- 后台作品上传图片会失败
- 太多了。。。。

经过两天的新生考验,还是抗住了,呜呜
少了很多功能
比如选中数据导出(现在只做了全体新生数据导出)
后台男女比例数据统计

但是,就这样吧
This commit is contained in:
LMark
2022-08-22 02:45:48 +08:00
parent 970f7563c0
commit 3a519b9afb
15 changed files with 213 additions and 128 deletions
+10 -3
View File
@@ -1,7 +1,14 @@
from django.contrib import admin
from .models import *
class DepartmentAdmin(admin.ModelAdmin):
list_display = ("id","department_cn","department_en","icon","background","status")
admin.site.register(Department)
admin.site.register(History)
admin.site.register(Members)
class HistoryAdmin(admin.ModelAdmin):
list_display = ("id","years","department")
class MembersAdmin(admin.ModelAdmin):
list_display = ("id","years","name","motto","department")
admin.site.register(Department,DepartmentAdmin)
admin.site.register(History,HistoryAdmin)
admin.site.register(Members,MembersAdmin)
+9 -3
View File
@@ -3,6 +3,12 @@ from django.core.validators import MaxValueValidator, MinValueValidator
from datetime import datetime
from utils.ImageStorage import ImageStorage
def get_default_rev():
queryset = Department.objects.values_list('id', flat = True)
for query in queryset:
return query
class Department(models.Model):
id = models.BigAutoField(auto_created=True, primary_key=True, verbose_name='部门ID')
# did = models.IntegerField("部门ID")
@@ -31,7 +37,7 @@ class History(models.Model):
# did = models.IntegerField("部门ID")
# did = models.ForeignKey(Department, on_delete=models.DO_NOTHING(), related_name="history", verbose_name="部门id")
# department_cn = models.CharField("部门", max_length=10) # 如“程序部”
department = models.ForeignKey(Department, on_delete=models.DO_NOTHING, related_name="history", verbose_name="部门")
department = models.ForeignKey(Department, on_delete=models.DO_NOTHING, related_name="history", verbose_name="部门",default=1)
class Meta:
db_table = 'it_History'
@@ -50,10 +56,10 @@ class Members(models.Model):
MinValueValidator(2000)
])
name = models.CharField("成员姓名", max_length=10)
motto = models.CharField("座右铭", max_length=30)
motto = models.CharField("座右铭", max_length=300)
# department_cn = models.CharField("所属部门", max_length=10)
department = models.ForeignKey(Department, on_delete=models.DO_NOTHING, related_name="member",
verbose_name="所属部门")
verbose_name="所属部门",default = get_default_rev)
class Meta:
db_table = 'it_Members'
-1
View File
@@ -116,7 +116,6 @@ class DepartmentSerializer(serializers.ModelSerializer):
obj = Department.objects.filter(id=data)
if not obj:
raise serializers.ValidationError("查询的部门不存在")
return data
# class MembersSerializer(serializers.HyperlinkedModelSerializer):
+18 -20
View File
@@ -5,6 +5,7 @@ from django.db.models import Q
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt
from utils.util import get_msg
from django.views.decorators.csrf import csrf_protect
from apps.history.models import Members, History, Department
from apps.history.serializers import MembersSerializer, HistorySerializer, DepartmentSerializer
@@ -17,7 +18,7 @@ conf.read(os.path.join(BASE_DIR, "config.ini"), encoding="utf-8")
# class DepartmentViewSet(APIView):
# # 获取部门信息
# @method_decorator(csrf_exempt)
#@method_decorator(csrf_exempt)
# def get(self, request):
# response = {
# "code": 20000,
@@ -38,43 +39,39 @@ conf.read(os.path.join(BASE_DIR, "config.ini"), encoding="utf-8")
# response['msg'] = value[1]
# return Response(data=response)
#@method_decorator(csrf_exempt,name = "dispatch")
class DepartmentMessageView(GenericAPIView):
"""获取部门信息"""
serializer_class = DepartmentSerializer
@method_decorator(csrf_exempt)
#@csrf_protect_m
def get(self, request):
queryset = Department.objects.all()
if request.query_params:
try:
# serializer = DepartmentSerializer(instance=queryset.get(id=request.query_params['id']))
serializer = DepartmentSerializer(instance=queryset.get(id=request.query_params['id']))
# department_data = dict(serializer.data)
# department_data["background"] = conf.get("Django", "Host") + department_data["background"]
# department_data["icon"] = conf.get("Django", "Host") + department_data["icon"]
# return Response({"code": 20000, "msg": get_msg("20000"), "data": department_data})
return Response({"code": 20000, "msg": get_msg("20000"), "data": serializer.data})
department_data = dict(serializer.data)
department_data["background"] = conf.get("Django", "Host") + department_data["background"]
department_data["icon"] = conf.get("Django", "Host") + department_data["icon"]
return Response({"code": 20000, "msg": get_msg("20000"), "data": department_data})
except Department.DoesNotExist:
return Response({"code": 40000, "msg": "查询部门不存在"})
# except TypeError:
# return Response({"code": 40000, "msg": "查询部门不存在"})
else:
serializer = DepartmentSerializer(instance=queryset, many=True)
# department_data = dict(serializer.data)
# department_data["background"] = conf.get("Django", "Host") + department_data["background"]
# department_data["icon"] = conf.get("Django", "Host") + department_data["icon"]
# return Response({"code": 20000, "msg": get_msg("20000"), "data": department_data})
return Response({"code": 20000, "msg": get_msg("20000"), "data": serializer.data})
department_data = dict(serializer.data)
department_data["background"] = conf.get("Django", "Host") + department_data["background"]
department_data["icon"] = conf.get("Django", "Host") + department_data["icon"]
return Response({"code": 20000, "msg": get_msg("20000"), "data": department_data})
# print(request.query_params)
#@method_decorator(csrf_exempt,name = "dispatch")
class MemberViewSet(APIView):
# 获取历史成员信息
@method_decorator(csrf_exempt)
#@csrf_protect
def get(self, request):
response = {
"code": 20000,
@@ -117,10 +114,11 @@ class MemberViewSet(APIView):
# response['data'] = l
# return Response(data=response)
#@method_decorator(csrf_exempt,name = "dispatch")
class HistoryViewSet(APIView):
# 获取历史列表
@method_decorator(csrf_exempt)
#@csrf_protect
def get(self, request):
response = {
"code": 20000,