如何重写烧瓶表类

时间:2019-07-17 08:14:29

标签: python flask

我正在尝试覆盖flask-table类,以根据选项添加一些列。

当前我正在生成路线:

@app.route("/delete_database", methods=["GET", "POST"])
def delete_database():
    table_content = Databases.query.all()
    table2 = DatabasesTable(table_content)
    # table2.add_column(col=LinkCol("Delete", endpoint="index"), name="witam")
    response = make_response(render_template("delete_database.html", title="Delete database", table=table2))
    return response

视图:

{% extends "base.html" %}
{% block app_content %}

        <div class="row" style="padding:2%">
            {{ table }}
        </div>

{% endblock %}

表类:

    from flask_table import Table, Col, LinkCol,
class DatabasesTable(Table):

    def sort_url(self, col_id, reverse=False):
        pass

    classes = ['table table-hover']
    table_id = "databases_table"
    id = Col("Column name")
    name = Col("Column name")
    service = Col("Column name")
    description = Col("Column name")
    count = Col("Column name")
    timestamp = Col("Column name")
    some_db_table = Col("Column name")
    some_db_table2 = Col("Column name")
    some_db_table3 = Col("Column name")
    some_db_table4 = Col("Column name")
    more = LinkCol("Column name")

一切正常,但是我想根据路线选项添加带有删除按钮的“编辑”列(例如,检查用户是否为主持人,然后使用删除按钮添加列)。

我已经尝试过了:

class DatabasesTable(Table):

    def __init__(self, new_options=None):
        self.new_options = new_options
        super().__init__(self)

    def sort_url(self, col_id, reverse=False):
        pass

    classes = ['table table-hover']
    table_id = "databases_table"
    id = Col("Column name")
    name = Col("Column name")
    service = Col("Column name")
    description = Col("Column name")
    count = Col("Column name")
    timestamp = Col("Column name")
    some_db_table = Col("Column name")
    some_db_table2 = Col("Column name")
    some_db_table3 = Col("Column name")
    some_db_table4 = Col("Column name")
    more = LinkCol("Column name")
    if options["edit"]:
        edit = Column_with_Delete_button

但是我有错误:

TypeError: 'DatabasesTable' object is not iterable

0 个答案:

没有答案