python - 如何在同一次点击中上传文件并返回 JSON 响应
问题描述
我在views.py中上传的代码是
def upload(request):
context = {}
if request.method == 'POST':
uploaded_file = request.FILES['document']
timestr = time.strftime("%Y%m%d-%H%M%S")
fs = FileSystemStorage()
uploaded_file.name = timestr+"_"+uploaded_file.name
name = fs.save(uploaded_file.name, uploaded_file)
context['url'] = fs.url(name)
return render(request, 'upload.html', context)
我正在构建一个 API,并希望在用户选择文件后单击上传按钮时返回 JSON 响应。我正在使用 Django 和 Web 开发新手。
解决方案
您可以在Django中以三种不同的方式返回 JSON 响应。
# using pure Django
from django.http import HttpResponse
return HttpResponse(json.dumps(context), content_type="application/json")
# using pure Django
from django.http import JsonResponse
return JsonResponse(context)
# using Django Rest Framework
from rest_framework.response import Response
return Response(context)
推荐阅读
- arrays - 访问 flatlist 上的 redux 存储数组值反应原生
- kotlin - 为 jooq 生成的所有类插入注释
- java - CoreNLP:找出一个词是单数还是复数
- cassandra - 配置写入多副本时,Cassandra 是否使用两阶段提交?
- javascript - 当输入元素处于活动状态时如何禁用选择字段?
- node.js - 使用 mongoose 中的另一个集合数组填充数据
- networking - 在 Vagrant VM 上禁用互联网(外部访问)
- javascript - Chrome扩展程序无需单击图标即可开始工作?
- c++ - 在另一个线程中调用 luaL_error 会引发 qWarning
- c++ - 格式化浮点数:返回默认值