我如何才能一劳永逸地理解ajax与flask的结合使用?

2024-03-28 17:13:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的不知道如何使用Ajax, 我试过这个Flask - Calling python function on button OnClick event 但我想也许我不知道真正的问题在哪里! 我的代码运行得很好,但是当我需要一切去这个http://127.0.0.1:5000/地址时,它们都重定向到http://127.0.0.1:5000/transcribe/而不是停留在http://127.0.0.1:5000/上, 我做得好吗? 我的代码有什么问题? app.py

@app.route("/transcribe/", methods=['POST'])
def transcribe():
    if request.form['action'] == 'Transcribe':
        transcript = ""
        videos = glob.glob("static/uploads/video/*")
        ToEmptyDir()
        for video in videos:
            prs = parse_seconde(video)
            transcript = cut_video(prs, video).lstrip()
            insertToFile(video.split("\\")[1].split(".")[0], transcript)
        #    shutil.move(video, "static/uploads/Transcribed/")
        txtFile = glob.glob(os.getcwd() + "/*.txt")
        #for txt in txtFile:
        #   shutil.copy(txt, "static/uploads/FileTranscribed/")
        #    os.remove(txt)
        return render_template('index.html', transcript=transcript)
    elif request.form['action'] == 'Save':
        textTranscribed = request.form['textTranscribed']
        print(textTranscribed)
        fileToData(textTranscribed)
    elif request.form['action'] == 'Correct it':
        return 'You entered: {}'.format(request.form['textTranscribed'])

模板/index.html

    <form method="post" action="/transcribe/" enctype="multipart/form-data">
        {% if transcript != "" %}
            <div id="speechTranscriptContainer">
                <!--p id="speechText">{{ transcript }}</p-->
                <textarea type="text" id="textTranscribed" name="textTranscribed" rows="15" cols="100">
                    {{ transcript }}
                </textarea><br>
            </div>
        {% endif %}            
        <p>
            <input type="submit" name="action" value="Correct it" class="btn btn-info">
            <input type="submit" name="action" value="Save" class="btn btn-info">
            <input type="submit" name="action" id="Transcribe" value="Transcribe" onclick="window.location.href='{{ url_for( 'transcribe') }}';">
            </script>                  
        </p>
    </form>