2017-06-07 12 views
1

私はファイルをポストするPOST APIを書いています。私はファイルを開き、ファイル内のJSONコンテンツを解析したいと思います。しかし、os.path.join()という行はうまくいきません。私は "'InMemoryUploadedFile'オブジェクトに属性 'startswith'"例外がありません。以下に使用するコードが含まれています。os.path.join()はInMemoryUploadFileエラーを返します

def schedule_load(file_name): 
    print file_name 
    file_json = default_storage.open(os.path.join("schedule_files", file_name), 'r') 
    var = file_json.read() 
    print var 
    file_json.close() 
    schedule = json.loads(var) 

マイPOSTメソッド:

@api_view(['POST']) 
def post_schedule(request): 
print "post_schedule" 
if request.method == 'POST': 
    print "if POST" 
    form = ScheduleForm(request.POST, request.FILES) 
    file_name = form['schedule_file'].value() 

    if form.is_valid(): 
     print "is_valid" 
     form.save() 
     schedule_load(file_name) 
     return JsonResponse({"status": "success"}, status=status.HTTP_200_OK) 
    else: 
     return JsonResponse({"status": "Invalid file"}, status=status.HTTP_200_OK) 

答えて

1

何を扱っていることはInMemoryUploadedFileではなく、ファイル名なので。コードは次のように変更されます

def schedule_load(file_name): 
    var = file_name.read() 
    print var 
関連する問題