如何执行表单提交中的路由内包含的功能?

时间:2019-05-08 09:53:50

标签: python forms flask routes

我有一个表格。提交表单时,我想在处理表单数据的路由中执行一些功能。

表格

<form action="{{ url_for('background_process') }}" method="POST">
        <input type="text" id="name" name="name" required />

        <input type="url" id="url" name="url"/>

        <input type ="text" id="mdp-demo" name= "mdp-demo"/>

       <input type=text size=5 name=proglang>
            <a href=# id=process_input><button class='btn btn-default'>Submit</button></a>
    </form>

发布表单数据以路由处理数据的JavaScript。

           $(function() {
            $('a#process_input').bind('click', function() {
            $.getJSON('/background_process', {
              proglang: $('input[name="proglang"]').val(),
              url: $('input[name="url"]').val(),
              title: $('input[name="name"]').val(),
              dates: $('input[name="mdp-demo"]').val(),
            }, function(data) {
              $("#result").text(data.result);
            });
            return false;
          });

处理表单数据的路由。

@app.route('/background_process', methods=['GET','POST'])
def background_process():
try:
    create_table()
    data_entry()
    url = request.args.get('url', 0, type=str)
    title = request.args.get('title', 0, type=str)
    dates = request.args.get('dates', 0, type=str)

    if url.lower() == 'https://www.reddit.com/':
        return jsonify(result='You are wise')
    else:
        return jsonify(result='Try again.')
except Exception as e:
    return str(e)

当我单击表单上的提交按钮时,我想执行create_table()和data_entry()函数。

目前的结果是什么也没有发生。这些功能在路由之外的应用运行时执行时起作用。这是当他们在一条路线上不起作用时。关于在路由中执行这些功能应该做什么的任何建议?

0 个答案:

没有答案