Model
class Order(models.Model):
drawing = models.FileField(null=False, upload_to='drawing/%Y/%m/%d')
表單
<form>
<input type="file" id="a">
</form>
<script>
let files = $('#a').filebox('files');
let fd = new FormData();
fd.append('order_id',{{order_id}})
fd.append('file', files[0]);
fd.append('csrfmiddlewaretoken', '{{ csrf_token }}');
$.ajax({
url: '{% url 'order_detail' %}',
type: 'post',
data: fd,
processData: false,
contentType: false,
success: function () {
alert('ok')
}
})
</script>
後臺處理
from django.core.files import File
from django.http import JsonResponse
def order_detail(request):
drawing = request.FILES.get('file')
order_id = request.POST['order_id']
if drawing:
Order.objects.get(pk=order_id).drawing.save(name=drawing.name,content=File(drawing))
return JsonResponse({})