简体   繁体   English

将按钮链接到Flask-Appbuilder中的页面

[英]linking a button to page in Flask-Appbuilder

Currently I'm trying to link the submit button to the 'page1' page however im getting a bad request error, originally I thought the issue was to do with the POST part of the method but wasn't clear oin how i can fix this issue, To sum this up in a more precise way, I;m trying to get to PAGE1 from PAGE using the submit button below but im getting 目前,我正在尝试将“提交”按钮链接到“ page1”页面,但是我收到了错误的请求错误,最初我认为问题与方法的POST部分有关,但尚不清楚如何解决此问题问题,总而言之,我正在尝试使用下面的“提交”按钮从PAGE转到PAGE1,但即时

"Bad Request The browser (or proxy) sent a request that this server could not understand." “错误的请求浏览器(或代理)发送了该服务器无法理解的请求。”

View.py View.py

@expose('/page', methods=['GET', 'POST'])
@appbuilder.app.route('/page', methods=['GET', 'POST'])
def page(self):

    if request.method == 'POST':
        bucket = request.form['bucket']
        session['bucket'] = bucket
        return redirect(url_for('view.files'))
    else:
        return render_template(
            'x.html',
            base_template=appbuilder.base_template,
            appbuilder=appbuilder
        )

@expose('/page1', methods=['GET', 'POST'])
@appbuilder.app.route('/page1', methods=['GET', 'POST'])
def page1(self):

    if request.method == 'POST':
        bucket = request.form['bucket']
        session['bucket'] = bucket
        return redirect(url_for('view.files'))
    else:
        buckets = get_buckets_list()
        return render_template(
            'x1.html',
            base_template=appbuilder.base_template,
            appbuilder=appbuilder,
            buckets=buckets
        )

HTML page HTML页面

            <td>
                <form class="select-bucket" action="{{ url_for('view.page1')}}" method="POST">
                    <button type="submit" name="submit" value="submit">Submit</button>
                </form>
            </td>

In def page(self) , you have: def page(self) ,您具有:

    return redirect(url_for('view.files'))

It should be 它应该是

    return redirect(url_for('page1'))

so it points to your page1 function. 因此它指向您的page1函数。

Solution from: https://teamtreehouse.com/community/flask-redirect-vs-redirecturlfor 解决方案来自: https : //teamtreehouse.com/community/flask-redirect-vs-redirecturlfor

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM