将flaskpython与HTML和JavaScript集成

将flaskpython与HTML和JavaScript集成,javascript,python,html,flask,Javascript,Python,Html,Flask,在我的代码中,我希望index.html页面中定义的Javascript在app.py中的特定条件为true时运行,否则脚本不应运行。我怎样才能做到这一点 app = Flask(__name__) @app.route('/',methods=["GET","POST"]) def index(): #print "came here" if request.method == 'POST': search_token = request.args.get("v

在我的代码中,我希望index.html页面中定义的Javascript在app.py中的特定条件为true时运行,否则脚本不应运行。我怎样才能做到这一点

app = Flask(__name__)
@app.route('/',methods=["GET","POST"])
def index():
    #print "came here"
    if request.method == 'POST':
        search_token = request.args.get("validationtoken")
        print "search", search_token
        if search_token != None:
            # text = search_token
            resp = Response(search_token, status=200, mimetype='plain/text')
            print "resp",resp
            return resp
        else:
             print " Notification received "
             ##### HERE I NEED TO CALL THE Java SCRIPT DEFINED IN HTML PAGE TO EXECUTE


    elif request.method=="GET":
         code=request.args.get('code')
         state=request.args.get('state')
         ----

请帮助..

python脚本应该是这样的

 app = Flask(__name__)
 @app.route('/',methods=["GET","POST"])
 def index():
    script = False

    if request.method == 'POST':
        search_token = request.args.get("validationtoken")
        print "search", search_token
        if search_token != None:
           # text = search_token
           resp = Response(search_token, status=200, mimetype='plain/text')
           print "resp",resp
           return resp
        else:
           print " Notification 
           script = True
           render_template('index.html', Script=script)



    elif request.method=="GET":
        code=request.args.get('code')
        state=request.args.get('state')
     ----
{% if Script %}
    <script type="text/javascript">
     "Your code lies here"
    </script>
html应该是这样的

 app = Flask(__name__)
 @app.route('/',methods=["GET","POST"])
 def index():
    script = False

    if request.method == 'POST':
        search_token = request.args.get("validationtoken")
        print "search", search_token
        if search_token != None:
           # text = search_token
           resp = Response(search_token, status=200, mimetype='plain/text')
           print "resp",resp
           return resp
        else:
           print " Notification 
           script = True
           render_template('index.html', Script=script)



    elif request.method=="GET":
        code=request.args.get('code')
        state=request.args.get('state')
     ----
{% if Script %}
    <script type="text/javascript">
     "Your code lies here"
    </script>
{%if脚本%}
“你的代码在这里”

您可以使用这种方式将python脚本(应用程序)中的变量传递到index.html模板,就像Flask使用Jinja模板一样。

您的做法是相反的。。。可以使用javascript异步调用Flask api,您可以执行这些操作。无法从flask调用java脚本,除非您正在呈现模板并将{{}}变量传递给JS代码!介绍如何使用jQuery和Flask进行AJAX调用……嗨,在elif条件下,render_模板已经应用了。这不是渲染。但一旦它遵循以下模式,即if(POST-->else,则它将如何进入代码的elif部分?