enroll app修改

This commit is contained in:
ygm1881
2022-04-21 21:38:06 +08:00
parent 1c8a148c84
commit 16b2e3cf8e
28 changed files with 336 additions and 11 deletions
View File
+5
View File
@@ -0,0 +1,5 @@
from django.contrib import admin
from .models import History
# Register your models here.
admin.site.register(History)
+6
View File
@@ -0,0 +1,6 @@
from django.apps import AppConfig
class HistoryConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'history'
+24
View File
@@ -0,0 +1,24 @@
# Generated by Django 3.2.5 on 2022-04-15 14:20
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='History',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('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='', verbose_name='图片')),
],
),
]
@@ -0,0 +1,18 @@
# Generated by Django 3.2.5 on 2022-04-15 14:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('history', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='history',
name='img',
field=models.ImageField(upload_to='image', verbose_name='图片'),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 3.2.5 on 2022-04-15 23:05
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('history', '0002_alter_history_img'),
]
operations = [
migrations.AlterField(
model_name='history',
name='img',
field=models.ImageField(upload_to='', verbose_name='图片'),
),
]
View File
+11
View File
@@ -0,0 +1,11 @@
from django.db import models
# Create your models here.
class History(models.Model):
grade = models.IntegerField(verbose_name="年份")
name = models.CharField(verbose_name="事件名称", max_length=30)
description = models.CharField(verbose_name="事件描述", max_length=200)
img = models.ImageField(verbose_name="图片", upload_to="image")
+19
View File
@@ -0,0 +1,19 @@
from rest_framework import serializers
from .models import *
class HistoryInfoSerializer(serializers.ModelSerializer):
class Meta:
model = History
fields = '__all__'
grade = serializers.CharField(label="年级", required=True)
name = serializers.CharField(label="事件名称", max_length=30, required=True)
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
+3
View File
@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.
+11
View File
@@ -0,0 +1,11 @@
from django.contrib import admin
from django.urls import path
from . import views
from django.conf.urls.static import static
from ITShowPlatform import settings
urlpatterns = [
path('history/', views.history.as_view()),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+37
View File
@@ -0,0 +1,37 @@
import time
from django.conf import settings
import re
from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
from .models import History
from .serializers import HistoryInfoSerializer
# Create your views here.
class history(APIView):
def get(self, request):
key = []
data = {"data": key}
for i in range(2012, 2022):
temp = {}
try:
works_set = History.objects.filter(grade=i)
if works_set:
serializer = HistoryInfoSerializer(works_set, many=True)
temp['grade'] = i
temp['data'] = serializer.data
data['data'].append(temp)
except Exception:
pass
if len(data['data']) == 0:
data['code'] = 40000
data['msg'] = "error"
else:
data['code'] = 20000
data['msg'] = 'success'
return Response(data=data)