url_for用于Flask-Admin中基于类的视图 - python

我有一个基于类的管理视图:

class All_RDPs(BaseView):
    @expose('/')
    def index(self):
        return 'ok1'
    @expose('/test')
    def testindex(self):
        return 'ok2'

在Flask-Admin中注册的方式如下:

admin.add_view(All_RDPs(name='dep_rdp'))

然后可以通过浏览器查看,如下所示:

http://localhost/admin/all_rdps/
http://localhost/admin/all_rdps/test

问题是:

如何为此类指定URL,而不是默认的生成名称all_rdps
如何使用url_for为这些端点生成URL? url_for('admin.All_RDPs.testindex')url_for('admin.All_RDPs')不起作用。

python大神给出的解决方案

您可以通过将终结点参数传递给来覆盖终结点名称
视图类的构造函数:

admin = Admin(app)
admin.add_view(MyView(endpoint='testadmin'))

在这种情况下,您可以通过串联view方法来生成链接
带有端点的名称:

url_for('testadmin.index')

如果不覆盖端点名称,则小写的类名称可以
用于生成URL,例如:

url_for('myview.index')

对于基于模型的视图,规则有所不同-模型类名称应
如果未提供端点名称,则使用。 ModelView还具有
这些端点默认为:.index_view,.create_view和.edit_view。
因此,可以为名为“ User”的模型生成以下URL:

# List View
url_for('user.index_view')

# Create View (redirect back to index_view)
url_for('user.create_view', url=url_for('user.index_view'))

# Edit View for record #1 (redirect back to index_view)
url_for('user.edit_view', id=1, url=url_for('user.index_view'))

资料来源:Flask-Admin quickstart

如何在Matplotlib条形图后面绘制网格线 - python

x = ['01-02', '02-02', '03-02', '04-02', '05-02'] y = [2, 2, 3, 7, 2] fig, ax = plt.subplots(1, 1) ax.bar(range(len(y)), y, width=…

对于DataFrame的每一行,在给定条件的情况下获取第一列的索引到新列中 - python

这是我的数据框的一部分。data = [ ['1245', np.nan, np.nan, 1.0, 1.0, ''], ['1246', np.nan, 1.0, 1.0, 1.0, ''], ['1247', 1.0, 1.0, 1.0, 1.0, �…

在Flask中测试文件上传 - python

我在Flask集成测试中使用Flask-Testing。我有一个表单,该表单具有我要为其编写测试的徽标的文件上传,但是我不断收到错误消息:TypeError: 'str' does not support the buffer interface。我正在使用Python3。我找到的最接近的答案是this,但是它对我不起作用。这是我的许多尝…

子条件的python条件覆盖 - python

我试图找到一个python代码覆盖率工具,该工具可以衡量语句中是否包含子表达式:例如,我想看看下面的示例是否涵盖了condition1 / condition2 / condtion3?if condition1 or condition2 or condition3: x = true_value python大神给出的解决方案 对此的唯一合理答案是:当前…

USB设备发行 - python

我目前正在使用PyUSB。由于我不熟悉USB,所以我不知道如何执行以下操作。我已经从Python PyUSB成功连接到我的USB设备硬件。在代码中,我需要重置USB设备硬件。通过向硬件发送命令来完成。现在,在硬件重置后,我想从Python PyUSB释放当前的USB设备。然后,我想在重置后将其重新连接到USB设备硬件。请让我知道,如何释放USB设备连接和接口…