Запустите команду python в laravel с информацией о форме лезвия - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь запустить скрипт на Python с некоторой информацией, хранящейся в форме в laravel 5.6

Форма имеет следующую информацию:

{!! Form::open(['action' => ['FormulaController@update', $formula->id], 'method' => 'POST']) !!}
  <div class="form-group">
    <div class="table-responsive">
      <table class="table">
        <tbody>
          <tr>
            <td>{{Form::label('tipo', 'Tipo Salida')}}
                    {{Form::select('tipo', ['int', 'float', 'booleano'], $formula->tipo_salida, ['class' => 'form-control', 'id' => 'tipo'])}}</td>
            <td colspan="2">{{Form::label('variables', 'Variables')}}
                    {{Form::text('variables', $formula->variables, ['class' => 'form-control', 'placeholder' => 'nox,/', 'id' => 'variables'])}}</td>
          </tr>
          <tr>
            <td colspan="3">{{Form::label('formula', 'Fórmula')}}
                        {{Form::text('formula', $formula->formula, ['class' => 'form-control', 'placeholder' => 'a*1', 'id' => 'formula'])}}</td>
          </tr>
          <tr>
            <td><h6>{{Form::label('Nombreresultado', 'Resultado:')}}</h6></td>
            <td>{{Form::label('resultado', $salida_formula)}}</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
<a href="/dahs/formulas/{{$formula->id}}" class="btn btn-primary">Back</a>
<input class="btn btn-primary" value="Evaluate" type="button"/>
{{Form::hidden('_method','PUT')}}
{{Form::submit('Guardar', ['class'=>'btn btn-primary'])}}
{!! Form::close() !!}

Идея состоит в том, что с помощью кнопки 'Evaluate' страница получает информацию из селектов и текстов формы и выполняет скрипт на python так:

$/usr/bin/python /var/www/cgi-bin/evaluate.py 'nox_mgm3;float;a*1.881;nox,/'

Я пробовал несколько способов, используя php-код непосредственно в моем шаблоне blade-сервера, javascript, процессе symfony, но все же обнаружил, что это странно, код нехорошо, или, возможно, это не «путь laravel»

Есть ли такой способ? Или я правильно делаю это одним из этих способов?

С наилучшими пожеланиями

...