弹幕接口和历史接口
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
from django.contrib import admin
|
||||
from .models import History
|
||||
# Register your models here.
|
||||
|
||||
admin.site.register(History)
|
||||
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class HistoryConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'history'
|
||||
@@ -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='图片'),
|
||||
),
|
||||
]
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
@@ -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 IT_Show import settings
|
||||
|
||||
urlpatterns = [
|
||||
path('history/', views.history.as_view()),
|
||||
]
|
||||
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user