diff --git a/pythonProject/.idea/.name b/pythonProject/.idea/.name new file mode 100644 index 0000000..fff7c2e --- /dev/null +++ b/pythonProject/.idea/.name @@ -0,0 +1 @@ +settings.py \ No newline at end of file diff --git a/pythonProject/.idea/vcs.xml b/pythonProject/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/pythonProject/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pythonProject/settings.py b/pythonProject/settings.py index e69de29..75bfcd3 100644 --- a/pythonProject/settings.py +++ b/pythonProject/settings.py @@ -0,0 +1,97 @@ + +# 查 +@api_view(['GET']) +def list_api(request): + if request.method == 'GET': + keyword = request.GET.get("keyword", None) + c = request.GET.get("c", None) + tag = request.GET.get("tag", None) + if keyword: + things = Thing.objects.filter(title__contains=keyword).order_by('create_time') + elif c: + classification = Classification.objects.get(pk=c) + things = classification.classification_thing.all() + elif tag: + tag = Tag.objects.get(id=tag) + print(tag) + things = tag.thing_set.all() + else: + things = Thing.objects.all().order_by('create_time') + + serializer = ThingSerializer(things, many=True) + return APIResponse(code=0, msg='查询成功', data=serializer.data) + +# 删 +@api_view(['GET']) +def detail(request): + + try: + pk = request.GET.get('id', -1) + thing = Thing.objects.get(pk=pk) + except Thing.DoesNotExist: + utils.log_error(request, '对象不存在') + return APIResponse(code=1, msg='对象不存在') + + if request.method == 'GET': + serializer = ThingSerializer(thing) + return APIResponse(code=0, msg='查询成功', data=serializer.data) + +# 增 +@api_view(['POST']) +@authentication_classes([AdminTokenAuthtication]) +def create(request): + + if isDemoAdminUser(request): + return APIResponse(code=1, msg='演示帐号无法操作') + + serializer = ThingSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return APIResponse(code=0, msg='创建成功', data=serializer.data) + else: + print(serializer.errors) + utils.log_error(request, '参数错误') + + return APIResponse(code=1, msg='创建失败') + +# 改 +@api_view(['POST']) +@authentication_classes([AdminTokenAuthtication]) +def update(request): + + if isDemoAdminUser(request): + return APIResponse(code=1, msg='演示帐号无法操作') + + try: + pk = request.GET.get('id', -1) + thing = Thing.objects.get(pk=pk) + except Thing.DoesNotExist: + return APIResponse(code=1, msg='对象不存在') + + serializer = UpdateThingSerializer(thing, data=request.data) + if serializer.is_valid(): + serializer.save() + return APIResponse(code=0, msg='查询成功', data=serializer.data) + else: + print(serializer.errors) + utils.log_error(request, '参数错误') + + return APIResponse(code=1, msg='更新失败') + +# 删 +@api_view(['POST']) +@authentication_classes([AdminTokenAuthtication]) +def delete(request): + + if isDemoAdminUser(request): + return APIResponse(code=1, msg='演示帐号无法操作') + + try: + ids = request.GET.get('ids') + ids_arr = ids.split(',') + Thing.objects.filter(id__in=ids_arr).delete() + except Thing.DoesNotExist: + return APIResponse(code=1, msg='对象不存在') + return APIResponse(code=0, msg='删除成功') + +