2017-09-26 96 views
0

加載網頁之前,我有一個index.html讀取一個CSV文件,並將其顯示在使用Javascript DataTables的網頁。這是因爲如下:運行一個python腳本通過JavaScript/HTML

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 
    <title>CSV to HTML Table</title> 

    <!-- Bootstrap core CSS --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <link href="css/dataTables.bootstrap.css" rel="stylesheet"> 

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 
    <!--[if lt IE 9]> 
     <script type="text/javascript" src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> 
     <script type="text/javascript" src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> 
    <![endif]--> 
    </head> 

    <body> 
    <div class="container-fluid"> 

     <h2>CSV to HTML Table</h2> 



     <div id='table-container'></div> 

    </div><!-- /.container --> 



    <!-- Bootstrap core JavaScript 
    ================================================== --> 
    <!-- Placed at the end of the document so the pages load faster --> 
    <script type="text/javascript" src="js/jquery.min.js"></script> 
    <script type="text/javascript" src="js/bootstrap.min.js"></script> 
    <script type="text/javascript" src="js/jquery.csv.min.js"></script> 
    <script type="text/javascript" src="js/jquery.dataTables.min.js"></script> 
    <script type="text/javascript" src="js/dataTables.bootstrap.js"></script> 
    <script type="text/javascript" src="js/csv_to_html_table.js"></script> 


    <script type="text/javascript"> 
     function format_link(link){ 
     if (link) 
      return "<a href='" + link + "' target='_blank'>" + link + "</a>"; 
     else 
      return ""; 
     } 
     CsvToHtmlTable.init({ 
     csv_path: 'data/fatty_acid_profiles.csv', 
     element: 'table-container', 
     allow_download: true, 
     csv_options: {separator: ','}, 
     datatables_options: {"paging": false}, 
     custom_formatting: [[4, format_link]] 
     }); 
    </script> 
    </body> 
</html> 

我有這個上ec2實例上運行。我想,這個網址被打開時,加載頁面之前,首先一個python腳本調用computation.py應該運行創建上述data/fatty_acid_profiles.csv文件,然後在頁面應加載。我如何在加載頁面之前啓用運行python腳本?

+0

你是如何服務於你的HTML? – user3080953

+0

我不知道你會怎麼做,而不實際設置一個服務器,並使用像燒瓶這樣的框架工作,並在您點擊鏈接時被調用的calculate.py中創建一個處理程序。請參閱http://flask.pocoo.org/docs/0.12/ –

+0

@ user3080953我寫道我在AWS ec2上運行它,所以Apache Web Server。 – Xavier

回答

0

您可以創建一個簡單的燒瓶應用服務HTML文件,請參閱Flask Documentation。在索引路徑中,可以調用calculate.py的函數來生成所需的CSV文件,然後返回HTML頁面。