猿问

将数据从HTML表单发送到瓶中的Python脚本

将数据从HTML表单发送到瓶中的Python脚本

下面是Python脚本中的代码:

def cmd_wui(argv, path_to_tx):
    """Run a web UI."""
    from flask import Flask, flash, jsonify, render_template, request    import webbrowser
    app = Flask(__name__)


    @app.route('/tx/index/')
    def index():
        """Load start page where you select your project folder
        or load history projects from local DB."""
        from txclib import get_version
        txc_version = get_version()
        prj = project.Project(path_to_tx)

        # Let's create a resource list from our config file
        res_list = []
        prev_proj = ''
        for idx, res in enumerate(prj.get_resource_list()):
                hostname = prj.get_resource_host(res)
        username, password = prj.getset_host_credentials(hostname)
        return render_template('init.html', txc_version=txc_version, username=username)

另外,我在init.html中有一个HTML表单:

<form><input type="text" id="projectFilepath" size="40" placeholder="Spot your project files">
<input type="button" id="spotButton" value="Spot"></form>

当用户在python脚本中的变量上单击“potButton”时,如何传递来自“projectFilepath”的用户输入?

我是Python和Flask的新手,所以如果我犯了什么错误,请原谅我。


POPMUISE
浏览 1021回答 3
3回答

皈依舞

这个form标记需要设置两个属性:action表单数据在提交时发送到的URL。用url_for..如果相同的URL处理显示表单和处理数据,则可以省略。method是否以查询字符串(GET)或表单数据(POST)的形式提交数据。添加一个视图来处理表单数据:@app.route('/handle_data',&nbsp;methods=['POST'])def&nbsp;handle_data(): &nbsp;&nbsp;&nbsp;&nbsp;projectpath&nbsp;=&nbsp;request.form['projectFilepath'] &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;your&nbsp;code &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;return&nbsp;a&nbsp;response设置表单的action到该视图的URL:<form&nbsp;action="{{&nbsp;url_for('handle_data')&nbsp;}}"&nbsp;method="post"> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="text"&nbsp;name="projectFilepath"> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="submit"></form>

蝴蝶不菲

您需要一个接收POST数据的Flask视图和一个发送它的HTML表单。from&nbsp;flask&nbsp;import&nbsp;request@app.route('/addRegion',&nbsp;methods=['POST'])def&nbsp;addRegion(): &nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(request.form['projectFilePath'])<form&nbsp;action="{{&nbsp;url_for('addRegion')&nbsp;}}"&nbsp;method="post"> &nbsp;&nbsp;&nbsp;&nbsp;Project&nbsp;file&nbsp;path:&nbsp;<input&nbsp;type="text"&nbsp;name="projectFilePath"><br> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="submit"&nbsp;value="Submit"></form>

萧十郎

作为一个菜鸟(实际上是第一天在烧瓶上工作),我一开始没有意识到一个人必须做什么from flask import Flask, request
随时随地看视频慕课网APP
我要回答