work
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
from django.contrib import admin
|
||||
from .models import Works
|
||||
# Register your models here.
|
||||
|
||||
admin.site.register(Works)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class WorksConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'Apps.work'
|
||||
@@ -0,0 +1,24 @@
|
||||
# Generated by Django 3.2.5 on 2022-05-05 21:56
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Works',
|
||||
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='image', verbose_name='图片')),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.2.5 on 2022-05-05 21:57
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('work', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='works',
|
||||
name='img',
|
||||
field=models.ImageField(blank=True, null=True, upload_to='image', verbose_name='图片'),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
|
||||
|
||||
class Works(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", null=True, blank=True)
|
||||
@@ -2,7 +2,7 @@ from rest_framework import serializers
|
||||
from .models import *
|
||||
|
||||
|
||||
class HistoryInfoSerializer(serializers.ModelSerializer):
|
||||
class WorksInfoSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Works
|
||||
fields = '__all__'
|
||||
@@ -11,6 +11,7 @@ class HistoryInfoSerializer(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("不合法输入")
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
+2
-1
@@ -9,4 +9,5 @@ urlpatterns = [
|
||||
path('work/', views.work.as_view()),
|
||||
]
|
||||
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
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 Works
|
||||
from .serializers import WorksInfoSerializer
|
||||
# Create your views here.
|
||||
|
||||
|
||||
class work(APIView):
|
||||
|
||||
def get(self, request):
|
||||
key = []
|
||||
data = {"data": key}
|
||||
for i in range(2012, 2022):
|
||||
temp = {}
|
||||
try:
|
||||
works_set = Works.objects.filter(grade=i)
|
||||
if works_set:
|
||||
serializer = WorksInfoSerializer(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)
|
||||
|
||||
Reference in New Issue
Block a user