自定义转换器未通过列表

问题描述 投票:0回答:1

[我想做的是使用内置的烧瓶函数render和url_for,通过使用werkzeug.routing基本转换器制作的自定义转换器,将列表中的数据发送到另一个函数。backend.py:

from flask import *
from flaskext.mysql import MySQL
from werkzeug.routing import BaseConverter
mysql = MySQL()
application = Flask(__name__)
class ListConverter(BaseConverter):
    def to_python(self, value):
        return value.split('+')

   def to_url(self, values):
        return '+'.join(BaseConverter.to_url(value)
                        for value in values)

application.url_map.converters['list'] = ListConverter
@application.route('/reportsscr',methods=["POST"])
def reportsscr():
        results = [1,2,3,4,5,6,7]
        return redirect(url_for('reportsview',value =results))

然后在另一个文件中调用它Main.py

from backend import *
@application.route('/view/<list:value>')
def reportsview(value):
    return str(value)

这是我得到的错误的快照:Error

python flask redirect url-routing
1个回答
0
投票

我发现了一些examples如何通过Google搜索来做到这一点。我认为您可能需要调整to_url函数。

class ListConverter(BaseConverter):
    def to_python(self, value):
        return value.split('+')

   def to_url(self, value):
#change values to value, get super to_url function
        base_to_url = super(ListConverter, self).to_url
        return '+'.join(base_to_url(x)
                        for x in value)
© www.soinside.com 2019 - 2024. All rights reserved.