在Laravel 9项目中,如何调用Python脚本并向其传递信息?

f0brbegy  于 2023-03-13  发布在  Python
关注(0)|答案(1)|浏览(160)

我使用JS将Laravel 9项目中的HTML表单保存到浏览器的localStorage中(使用jQuery)。我还有一个Python脚本,它需要获取CSV格式的数据库,根据localStorage中的信息修改它,然后将其转换为JSON。最后,我有一个JavaScript文件,它获取JSON并构建一个HTML表。所有这些部分都是独立工作的,但是我在把python集成到我的Laravel 9项目中时遇到了麻烦。
在Laravel 9项目中,调用Python脚本并将信息传递给Python脚本的最佳方式是什么?
任何帮助或指导,这将是非常感谢。谢谢你提前!

xzv2uavs

xzv2uavs1#

我解决了这个问题。我是这样做的:
1.创建控制器:

php artisan make:controller PythonController

1.向控制器添加一个函数。下面是一个示例:

public function runScript()
    {
        $scriptFile = public_path('script.py');
        $command = "python $scriptFile";
    
        exec($command, $output, $status);
    
        return view('database');
    }

1.更新web.php中的路由:

use App\Http\Controllers\PythonController;
Route::get('/run-python-script', [PythonController::class, 'runScript']);

1.发出 AJAX 请求以运行Python脚本。下面是在JS中使用jQuery完成的:

$.get('/run-python-script', function(response) {
    console.log(response);
});

相关问题