从python调用/调用Javascript函数是html中的flask函数

从python调用/调用Javascript函数是html中的flask函数,javascript,python,function,flask,routing,Javascript,Python,Function,Flask,Routing,我正在创建一个flask应用程序,并试图调用一个python函数,在该函数中,我想调用一些javascript函数/代码,这些函数/代码与我在初始app.route('/')中返回的HTML模板有关 如果用户做了什么,那么我调用了另一个函数,该函数应该调用或调用一个js函数,我已经尝试到处寻找,但我无法理解解决方案 以下是我的代码结构: @app.route('/', methods=['GET', 'POST']) def upload_file(): if request.metho

我正在创建一个flask应用程序,并试图调用一个python函数,在该函数中,我想调用一些javascript函数/代码,这些函数/代码与我在初始
app.route('/')中返回的HTML模板有关

如果用户做了什么,那么我调用了另一个函数,该函数应该调用或调用一个js函数,我已经尝试到处寻找,但我无法理解解决方案

以下是我的代码结构:

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        #verify if the file is valid
        #here invoke js to do something (for example flash("test"))
    return '''
    <!doctype html>
    <title>Upload new File</title>
    <h1>Upload new File</h1>
    <form method=post enctype=multipart/form-data>
      <input type=file name=file>
      <input type=submit value=Upload>
    </form>
    '''
@app.route('/',方法=['GET','POST'])
def upload_文件():
如果request.method==“POST”:
#验证文件是否有效
#这里调用js来做一些事情(例如flash(“test”))
返回“”'
上载新文件
上载新文件
'''

您可以在加载时执行JavaScript函数,并让函数检查条件。您可以通过使用Python更改条件来影响此检查的结果。如果使用Flask函数,则不必在Python文件中编写HTML代码。为了更好的可读性,我使用了这个功能,但是您可以像以前一样将HTML代码放入Python代码中

您的HTML模板,例如名为
upload.HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Upload new File</title>
</head>
<body onload="flashMessage()">
  <script>
    function flashMessage() {
      if ("{{ flash_message }}" == "True") {
        alert("[YOUR_MESSAGE_HERE]");
      }
    }
  </script>

  <h1>Upload new File</h1>
  <form method=post enctype=multipart/form-data>
    <input type=file name=file>
    <input type=submit value=Upload>
  </form>
</body>
</html>
因此,HTML文件中的条件行将呈现给

if ("True" == "True")


取决于您是否希望flash消息显示。

您可以在加载时执行JavaScript函数,并让函数检查条件。您可以通过使用Python更改条件来影响此检查的结果。如果使用Flask函数,则不必在Python文件中编写HTML代码。为了更好的可读性,我使用了这个功能,但是您可以像以前一样将HTML代码放入Python代码中

您的HTML模板,例如名为
upload.HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Upload new File</title>
</head>
<body onload="flashMessage()">
  <script>
    function flashMessage() {
      if ("{{ flash_message }}" == "True") {
        alert("[YOUR_MESSAGE_HERE]");
      }
    }
  </script>

  <h1>Upload new File</h1>
  <form method=post enctype=multipart/form-data>
    <input type=file name=file>
    <input type=submit value=Upload>
  </form>
</body>
</html>
因此,HTML文件中的条件行将呈现给

if ("True" == "True")

取决于您是否希望flash消息显示