【问题标题】:Run a python script before loading webpage from javascript/html在从 javascript/html 加载网页之前运行 python 脚本
【发布时间】:2017-09-26 17:11:06
【问题描述】:

我有一个 index.html,它读取一个 csv 文件并使用 Javascript DataTables 在网页上显示它。如下:

<!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 实例上运行此程序。我希望当这个 url 打开时,在加载页面之前,首先应该运行一个名为 computation.py 的 python 脚本来创建上面的 data/fatty_acid_profiles.csv 文件,然后应该加载页面。如何在加载页面之前启用运行 python 脚本?

【问题讨论】:

  • 你的 html 服务如何?
  • 我不知道如果不实际设置服务器并使用诸如烧瓶之类的框架,并且在点击关联。见flask.pocoo.org/docs/0.12
  • @user3080953 我写了我在 AWS ec2 上运行它,所以是 Apache Web Server。

标签: javascript python html csv webpage


【解决方案1】:

您可以创建一个简单的烧瓶应用程序来提供 HTML 文件,请参阅 Flask Documentation。在 index 路由中,可以调用 compute.py 的函数生成需要的 CSV 文件,然后返回 HTML 页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 2021-04-27
    • 2021-05-26
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多