【问题标题】:linking a button to page in Flask-Appbuilder将按钮链接到 Flask-Appbuilder 中的页面
【发布时间】:2019-01-26 11:37:50
【问题描述】:

目前我正在尝试将提交按钮链接到“page1”页面,但是我收到了一个错误的请求错误,最初我认为问题与方法的 POST 部分有关,但不清楚我是如何做到的可以解决这个问题,为了更准确地总结一下,我正在尝试使用下面的提交按钮从 PAGE 进入 PAGE1,但我得到了

“错误请求 浏览器(或代理)发送了此服务器无法理解的请求。”

查看.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 页面

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

【问题讨论】:

    标签: python html http flask flask-appbuilder


    【解决方案1】:

    def page(self),你有:

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

    应该是

        return redirect(url_for('page1'))
    

    所以它指向你的page1 函数。

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

    【讨论】:

    • 它不会改变错误,这就是它在命令提示符中所说的内容 2018-08-20 12:04:14,695:INFO:werkzeug:127.0.0.1 - - [20/Aug/2018 12 :04:14]“POST /home/page1 HTTP/1.1”400 - @nio
    • 检查def pagedef page1 (stackoverflow.com/questions/19578613/…) 中的任何代码抛出异常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 2016-02-01
    相关资源
    最近更新 更多