From 64d592942b6a5d13f6cf0f1c383dc5f97854736e Mon Sep 17 00:00:00 2001 From: Bing Wong Date: Wed, 31 Mar 2021 14:49:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E2=80=9C=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3=E2=80=9DAPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DEMO: ``` import requests api = 'http://127.0.0.1:8000/api/modify_doc/?token=XXXXXXXXX' title = u"对文档2作出修改" doc = u'# 这是文档2修改后的内容' data = { "pid":1, #文集ID "did":3, #文档ID "title":title, "doc":doc } req = requests.post(api, data=data) print(req.text) ``` --- app_api/views.py | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/app_api/views.py b/app_api/views.py index 3f4922a..42f4f6b 100644 --- a/app_api/views.py +++ b/app_api/views.py @@ -244,7 +244,44 @@ def create_doc(request): logger.exception(_("token创建文档异常")) return JsonResponse({'status':False,'data':_('系统异常')}) - +# 更新修改文档 +@require_http_methods(['GET','POST']) +@csrf_exempt +def modify_doc(request): + token = request.GET.get('token', '') + project_id = request.POST.get('pid','') + doc_id = request.POST.get('did', '') + doc_title = request.POST.get('title','') + doc_content = request.POST.get('doc','') + try: + # 验证Token + token = UserToken.objects.get(token=token) + # 文集是否属于用户 + is_project = Project.objects.filter(create_user=token.user,id=project_id) + # 修改现有文档 + if is_project.exists(): + # 将现有文档内容写入到文档历史中 + doc = Doc.objects.get(id=doc_id) + DocHistory.objects.create( + doc=doc, + pre_content=doc.pre_content, + create_user=token.user + ) + # 更新修改现有文档 + Doc.objects.filter(id=int(doc_id)).update( + name=doc_title, + pre_content=doc_content, + modify_time=datetime.datetime.now(), + ) + return JsonResponse({'status': True, 'data': 'ok'}) + else: + return JsonResponse({'status':False,'data':'非法请求'}) + except ObjectDoesNotExist: + return JsonResponse({'status': False, 'data': 'token无效'}) + except: + logger.exception("token修改文档异常") + return JsonResponse({'status':False,'data':'系统异常'}) + # 上传图片 @csrf_exempt @require_http_methods(['GET','POST']) @@ -266,4 +303,4 @@ def upload_img(request): return JsonResponse({'success': 0, 'data': _('token无效')}) except: logger.exception(_("token上传图片异常")) - return JsonResponse({'success':0,'data':_('上传出错')}) \ No newline at end of file + return JsonResponse({'success':0,'data':_('上传出错')})