附加操作按钮在 Flask-admin 上不起作用

2023-12-28

我正在尝试向 Flask-admin 表单添加一项操作。

它必须增加评级(+1)并且它适用于批量操作,但不适用于单个操作。请帮我找到这个错误,我花了很多时间试图让这个东西正常工作。

这是代码:

我在 templates 文件夹中制作了一个 html 模板 - custom_lists.html

{% extends 'admin/model/list.html' %}
{% block list_row_actions %}
    {{ super() }}
  <form class="icon" method="POST" action="/admin/user/action/">
    <input id="action" name="action" value="approve" type="hidden">
    <input name="rowid" value="{{ get_pk_value(row) }}" type="hidden">
    <button onclick="return confirm('Are you sure you want to approve selected items?');" title="Approve">
      <span class="fa fa-ok glyphicon glyphicon-ok"></span>
    </button>
  </form>
{% endblock %}

这成功了,列表上有一个图标,但如果我点击它 - 它说

未找到

在服务器上找不到请求的 URL。如果您输入了网址 请手动检查拼写并重试。

添加到 templates 文件夹并添加到 AdidasView 类:

list_template = 'custom_list.html'
@action('approve', 'Approve', 'Are you sure you want to approve selected items?')
def action_approve(self, ids):
    try:
        query = Adidas.query.filter(Adidas.id.in_(ids))

        count = 0
        for image in query.all():
            image.rating += 1
            count += 1
            db.session.commit()
        flash(ngettext('Item was successfully approved.',
                       '%s items were successfully approved.'%count,count))
    except Exception as ex:
        if not self.handle_view_exception(ex):
            raise

        flash(gettext('Failed to approve items. %(error)s', error=str(ex)), 'error')

我没有更改模板,但我通过设置 column_extra_row_actions 变量并定义 action_play 函数进行了不同的操作,如下所示

column_extra_row_actions = [
        EndpointLinkRowAction('glyphicon glyphicon-play', 'event.action_play')
    ]

@expose('/action/play', methods=('GET',))
def action_play(self, *args, **kwargs):
    return self.handle_action()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

附加操作按钮在 Flask-admin 上不起作用 的相关文章

  • Python 如果 kwargs 中的 key 并且 key 为 true

    if force in kwargs and kwargs force is True 感觉应该有更好的方法来编写这个条件 因为我重复了键和变量 假设您确实想检查返回的关键字参数是否is True 这是另一种稍微不同的方式 if kwarg
  • 硒网格监听节点端口而不是集线器端口

    对于我的测试 我在不同的端口上本地运行网格和节点 java jar usr bin selenium server jar port 4444 role hub java jar usr bin selenium server jar ro
  • Pyjnius导入jar文件

    Pyjnius 允许您为 java 类创建 python 包装器 例如 Hardware autoclass org myapp Hardware 有没有办法像这样导入现有的 jar 文件 语法是什么样的 您可以将 jar 添加到 CLAS
  • 为什么 np.linalg.norm(..., axis=1) 比写出向量范数公式慢?

    标准化矩阵的行X对于单位长度 我通常使用 X np linalg norm X axis 1 keepdims True 在尝试优化算法的此操作时 我非常惊讶地发现在我的机器上写出标准化的速度大约快了 40 X np sqrt X 0 2
  • 如何让 Discord 机器人显示“机器人正在输入...”状态?

    所以如果我有一个像这样的长命令 bot command pass context True async def longCommand ctx typing status sleep 10 bot say Done 不幸的是 在文档或此处没
  • 将Python嵌入到C中——导入模块

    我在使用嵌入式 Python for C 时遇到问题文档 http docs python org extending embedding html 每当我尝试使用导入的模块时 我都会得到 PythonIncl exe 中 0x1e089e
  • 如何在Python中重命名virtualenv?

    我拼错了名字virtualenv使用以下方法初始化它 virtualenv vnev 我实际上打算创建一个名为的环境venv 尝试重命名后vnev文件夹到venv 我发现这并没有提供太多帮助 激活环境的名称仍然重命名旧的vnev mv vn
  • Python 的二进制字符串列表

    我有一个像这样的二进制字符串 1100011101 我想将其解析为一个列表 其中每个 1 或 0 块都是列表中的单独值 例如 1100011101 变成 11 000 111 0 1 您可以通过使用正则表达式而不是从中获得一点 次要 性能g
  • Odoo:如何覆盖原始功能

    在 Odoo 中 每次打开产品表单时都会计算产品的数量 这发生在模型中product product gt function product available 该函数返回一个名为 res 的字典 Example res 8 qty ava
  • 并行磁盘 I/O

    我有几个想要阅读的日志文件 不失一般性 假设日志文件处理如下 def process infilepath answer 0 with open infilepath as infile for line in infile if line
  • 有什么理由不在Python中混合使用多处理和线程模块

    我正在考虑使用Python来实现一个需要大量多线程的程序 另一个要求是它将在桌面上运行 因此拥有许多进程将使应用程序显得混乱且难以杀死 在任务管理器中 因此 我正在考虑使用线程和多处理模块来减少进程数量 据我了解 GIL 仅适用于单个进程
  • 使用 django-profiles 以配置文件形式编辑相关模型

    我在用着Django 配置文件 http bitbucket org ubernostrum django profiles wiki Home在我的应用程序中 因为它为我提供了一些简单的视图 可以帮助我更快地到达我想去的地方 但是 我有一
  • pygame.image.load 不工作

    我正在尝试为游戏创建世界地图 但是当我尝试将世界地图加载到屏幕上时 命令行告诉我无法执行此操作 这是代码 import sys import pygame from pygame locals import pygame init Surf
  • 在 CSV 文件的最上面一行写入

    我有这个sample csv 文件 a 1 apple b 2 banana c 3 cranberry d 4 durian e 5 eggplant 并有以下代码 samplefile open sample csv rb rows s
  • 按键合并的两个字典的值的并集

    我有两本词典 d1 a x y b k l d2 a m n c p r 如何合并这两个字典以获得这样的结果 d3 a x y m n b k l c p r 当字典的值是简单类型 如 int 或 str 时 这有效 d3 dict i a
  • 在 python 中,VSCode 调试器不会单步执行外部代码。无法弄清楚如何编辑 launch.json 中的“justMyCode”

    我一直在提到https code visualstudio com docs python debugging justmycode https code visualstudio com docs python debugging jus
  • Django 表单中的只读字段

    如何在 Django 表单中将字段设置为只读 我知道如何禁用某个字段 但这不是我想要的 任何帮助 将不胜感激 您可以使用可选的attrs定义时的参数Field 以机智 somefield forms CharField widget for
  • 根据键的重复值从列表中删除字典

    我是Python新手 假设我有以下字典列表 mydictList a 1 b 2 c 3 a 2 b 2 c 4 a 2 b 3 c 4 从上面的列表中 我想删除具有相同键 b 值的字典 所以结果列表应该是 mydictList a 1 b
  • Pandas 将时间序列数据重新采样为 15 分钟和 45 分钟 - 使用多索引或列

    我有一些时间序列数据作为 Pandas 数据框 它从每小时过去 15 分钟和过去 45 分钟 时间间隔为 30 分钟 的观察开始 然后将频率更改为每分钟 我想对数据进行重新采样 以便整个数据帧的频率为每 30 分钟一次 15 点和 45 点
  • Django Python - LDAP 身份验证

    我目前正在研究 Django Python 我的目标是从 Ldap 目录对用户进行身份验证 我确实有 python 代码来访问 ldap 目录并检索信息 Code import ldap try l ldap open ldap forum

随机推荐