首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何为django管理页面中的每一行在列表页面上放置一个按钮

在Django管理页面中为每一行放置一个按钮,可以通过自定义模板来实现。以下是一种实现方式:

  1. 创建一个新的Django应用(如果尚未创建):
代码语言:txt
复制
python manage.py startapp custom_admin
  1. custom_admin应用的目录下创建一个名为templates的文件夹,并在其中创建一个名为admin的子文件夹:
代码语言:txt
复制
custom_admin
├── templates
│   └── admin
  1. admin文件夹中创建一个名为change_list.html的模板文件,用于自定义管理页面的列表视图:
代码语言:txt
复制
{% extends "admin/change_list.html" %}

{% block result_list %}
    <table id="result_list">
        <thead>
            <tr>
                {% block result_list_header %}
                    <!-- 添加自定义按钮列 -->
                    <th scope="col" class="column-action">Action</th>
                    {{ headers }}
                {% endblock %}
            </tr>
        </thead>
        <tbody>
            {% block result_list_body %}
                {% for result in results %}
                    <tr class="{% cycle row1,row2 %}">
                        <!-- 添加自定义按钮 -->
                        <td class="action-checkbox">
                            <a href="{% url 'custom_admin:custom_action' result.pk %}">Custom Action</a>
                        </td>
                        {{ result }}
                    </tr>
                {% endfor %}
            {% endblock %}
        </tbody>
    </table>
{% endblock %}
  1. custom_admin应用的urls.py文件中添加一个URL模式,用于处理自定义按钮的点击事件:
代码语言:txt
复制
from django.urls import path

from . import views

app_name = 'custom_admin'

urlpatterns = [
    path('custom_action/<int:pk>/', views.custom_action, name='custom_action'),
]
  1. custom_admin应用的views.py文件中定义custom_action视图函数,用于处理自定义按钮的点击事件:
代码语言:txt
复制
from django.shortcuts import get_object_or_404, redirect

from django.contrib import messages

from django.contrib.admin.views.main import ChangeList

def custom_action(request, pk):
    # 根据主键获取对象
    obj = get_object_or_404(MyModel, pk=pk)
    
    # 执行自定义操作
    # ...

    # 添加成功消息
    messages.success(request, 'Custom action executed successfully.')

    # 重定向回原始的列表页面
    return redirect('admin:myapp_mymodel_changelist')
  1. 在需要使用自定义按钮的模型的admin.py文件中,继承ChangeList类,并指定自定义的模板:
代码语言:txt
复制
from django.contrib import admin

from django.contrib.admin.views.main import ChangeList

from .models import MyModel

class MyModelChangeList(ChangeList):
    def get_template(self, request):
        return ['admin/myapp/mymodel/change_list.html']

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    def get_changelist(self, request, **kwargs):
        return MyModelChangeList

    # 其他模型管理选项
    # ...

现在,当您访问Django管理页面中的列表视图时,每一行都会显示一个名为"Custom Action"的按钮。当点击该按钮时,将执行custom_action视图函数中定义的自定义操作,并显示成功消息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django入门:基于 Django Web 页面开发

功能要求: 具有文章列表,文章详情; 文章列表点击文章可跳转到对应详情; 文章列表具有分页功能; 文章详细具有上下文章跳转; 1、创建项目 使用 PyCharm 创建一个 DJango 项目...2、设置路由 要想实现跳转页面的功能,肯定要设置路由,总体路由控制都是在 urls 文件配置,具体到哪一个页面由 views 控制;由于我们项目是分级,所以我们要分别配置下路由信息,首先在子应用程序中新建一个...下面检验下路由配置是否正确。 首先创建一个首页前端页面,然后在 views 创建一个 index 函数,让该函数返回 index HTML 页面。 ?...然后我们先初始化些数据,这里数据你可以在上面的管理页面一个一个复制粘贴导入并保存,也可以写一个脚本自动化完成,如果你都不想的话可以直接用我 github 上面的 数据库配置文件 替换掉你配置文件...我们需要使用分页插件来分页,记录总页数、文章集合、当前页码等信息。

1.4K30
  • 通过 Django Pagination 实现简单分页

    这里 Django 官方文档给出了一个在视图函数列表进行分页示例,这个视图函数获取一个联系人列表并对其分页: from django.core.paginator import Paginator...在模板设置分页导航 接下来便是在模板设置分页导航,比如上、下按钮,以及显示页面信息。我们这里设置和 Django 官方博客那样分页导航样式(具体样式见上图)。...-- 如果当前还有上,显示一个按钮 --> {% if page_obj.has_previous %} {% if page_obj.has_next %} <a href="?...另外还要注意<em>一</em>点,请求哪<em>一个</em><em>页面</em>通过 page 查询参数传递给 <em>django</em> 视图,<em>django</em> 会根据 page <em>的</em>值返回对应<em>页面</em>的文章<em>列表</em>,所以上<em>一</em><em>页</em>和下<em>一</em><em>页</em>超链接<em>的</em> href 属性指向<em>的</em> url

    92420

    office2021:office2021下载 如何在Office文档页面上放置水印

    目录: 第部分:认识office2021 第二部分:office2021系统配置要求 第三部分:如何在Office文档页面上放置水印? 图片 题外话: 山高路远,看世界,也找自己。...office是款广泛使用办公软件套装,它包含了多种不同应用程序,Word、Excel、PowerPoint、Outlook等。...需要10GB 第三部分:如何在Office文档页面上放置水印?...如何在Office文档页面上放置水印?一个水印是一个苍白图像或后面出现在Office文档每个页面上文本字集。水印非常优雅,是Word 2011最简单格式化技巧之。...要为文档创建水印,请转到“布局”选项卡,然后单击“水印”按钮。将打开“插入水印”对话框。选择所需水印类型: 图片水印:选择图片,单击选择图片按钮,然后在“选择图片”对话框中选择图片。

    2.6K40

    利用微搭低代码开发每周菜谱小程序()

    查看功能开发 在列表我们使用了低代码定义了点击事件,也将菜谱主键传入到了查看页面,我们讲解下如何在查看页面获取数据并进行展示 新建页面 先在页面管理创建一个页面页面id要和低代码pageId...保持致 [在这里插入图片描述] 接着我们考虑页面的布局,我们在移动端信息般是从上到下,行展示一个信息,切换到组件签,我们还是先添加列表容器,并且修改标题为菜谱信息查看 [在这里插入图片描述]...点击变量管理 [在这里插入图片描述] 我们先需要在详情定义一个参数变量,用来接收列表页面传递过来参数,记着变量名称要和列表低代码里命名保持致 [在这里插入图片描述] 然后定义一个状态变量来获取菜谱具体信息...新增功能开发 数据查询功能做好后,我们就接着开发新增功能,我们先在列表页面上增加一个按钮,用来引导新增页面 [在这里插入图片描述] 我们给按钮定义个点击事件,选择平台方法导航就可以 [在这里插入图片描述...] 添加好后我们需要创建新增页面,在页面管理增加一个页面即可 [在这里插入图片描述] 回到列表页面按钮导航页面设置为刚才页面 [在这里插入图片描述] 接着在新增页面放置一个表单容器 [在这里插入图片描述

    1.8K20

    Django教程 —— 站点后台管理

    后台管理 假设我们要设计一个新闻网站,我们需要编写展示给用户页面,网页上展示新闻信息是从哪里来呢?是从数据库查找到新闻信息,然后把它展示在页面上。...那么问题来了,老板说我们需要在建立一个新网站,是不是还要设计一个页面来实现对新网站数据库增删改查操作,但是这样页面具有一个很大重复性,那有没有种方法能够让我们很快生成管理数据库表页面呢?...Django后台管理对数据库表操作 上篇讲到在项目的 shell 终端对数据库表操作,现在我们来看看Django后台对数据库表操作 查询 点击"Book Infos"可以进入列表,默认只有列。...自定义后台管理界面 在列表只显示出了 BookInfo object ,对象其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能。 比如列表要显示哪些值。...注意: 如果不写 verbose_name_plural 属性则模型类 BookInfo 在浏览器界面上中文后面会多一个 S。

    2.1K10

    基于hadoop生态圈数据仓库实践 —— OLAP与数据可视化(四)

    Hue应用运行在Web浏览器,不需要安装客户端。其体系结构如下图所示。 ?...“管理”包括编辑配置文件和管理用户子菜单。 这些是Hue主要功能,每个主功能下面的详细页面这里就不展示了,都是页面操作,感兴趣点击试下便知。...CDH 5.7.0缺省安装时,Hue元数据存储在一个嵌入式数据库SQLite,但这种配置并不适用于生产环境。...在Cloudera Manager管理控制台中,从服务列表中点击“Hue”进入Hue服务状态页面。 选择“操作” > “停止”,停止Hue服务,如下图所示。 ?...[mysqld] sql_mode=STRICT_ALL_TABLES 在MySQL建立一个数据库并授予一个Hue用户该库管理员权限,例如:mysql> create database hue;

    1.2K30

    Django教程 —— 站点后台管理

    后台管理 假设我们要设计一个新闻网站,我们需要编写展示给用户页面,网页上展示新闻信息是从哪里来呢?是从数据库查找到新闻信息,然后把它展示在页面上。...那么问题来了,老板说我们需要在建立一个新网站,是不是还要设计一个页面来实现对新网站数据库增删改查操作,但是这样页面具有一个很大重复性,那有没有种方法能够让我们很快生成管理数据库表页面呢?...Django后台管理对数据库表操作 上篇讲到在项目的 shell 终端对数据库表操作,现在我们来看看Django后台对数据库表操作 查询 点击 Book Infos 可以进入列表,默认只有列...Django提供了自定义管理页面的功能。 比如列表要显示哪些值。 打开 admin.py 文件,自定义类,继承自 admin.ModelAdmin 类。...注意: 如果不写 verbose_name_plural 属性则模型类 BookInfo 在浏览器界面上中文后面会多一个 S。

    1.6K20

    django403404500错误自定义页面的配置方式

    运行下,看看结果! 补充知识:Django 漂亮出错页面 ? 例子展示 Django 出错页面。 我们来花些时间看看这个出错,了解下其中 给出了哪些信息。...以下是值得注意些要点: 在页面顶部,你可以得到关键异常信息: 异常数据类型、异常参数 (本例 “unsupported type” )、在哪个文件引发了异常、出错行号等等。 ?...对栈帧,Django 均显示了其文件名、函数或方法名、行号及该行源代码。 ? 点击该行代码 (以深灰色显示),你可以看到出错行前后几行,从而得知相关上下文情况。 ?...点击栈任何“Local vars”可以看到一个所有局部变量列表,以及在出错 那帧时它们值。 这些调试信息相当有用。 ?...点击这些字,追溯会 切换另一个视图,它让你很容易地复制和粘贴这些内容。 当你想同其他人分享这些异常 追溯以获得技术支持时(比如在 Django IRC 聊天室或邮件列表),可以使用它。 ?

    1.3K20

    django 1.8 官方文档翻译:13-6 分页

    分页 Django提供了些类来帮助你管理分页数据 – 也就是说,数据被分在不同页面,并带有“上/下”标签。这些类位于django/core/paginator.py。...示例 向Paginator提供对象列表,以及你想为分配元素数量,它就会为你提供访问上对象方法: >>> from django.core.paginator import Paginator...exception EmptyPage[source] 当向page()提供一个有效值,但是那个页面上没有任何对象时抛出。...``start_index()[source] 返回当前一个对象,相对于分页列表所有对象序号,从1开始。...``end_index()[source] 返回当前最后一个对象,相对于分页列表所有对象序号,从1开始。

    40230

    关于“Python”核心知识点整理大全60

    在本章,我们就该如何保护用户数据所做决策表明,与人 合作开发项目是个不错主意:有人对项目进行检查的话,更容易发现其薄弱环节。 至此,我们创建了一个功能齐备项目,它运行在本地计算机上。...--/.nav-collapse --> 第一个元素为起始标签。HTML文件主体包含用户将在页面上看到内容。1处是 一个 元素,表示页面的导航链接部分。...选 择器决定了特定样式规则将应用于页面上哪些元素。 在2处,这个模板定义了一个按钮,它将在浏览器窗口太窄、无法水平显示整个导航栏时显 示出来。...如果用户单击这个按钮,将出现一个下拉列表,其中包含所有的导航元素。在用户缩小 浏览器窗口或在屏幕较小移动设备上显示网站时,collapse会使导航栏折叠起来。...导航栏其实就是一个以 打头 列表(见5),其中每个链接都是一个列表项()。

    13110

    微搭低代码基础开发教程-编辑器介绍

    在应用管理,点击应用编辑按钮可以进入到编辑器 [在这里插入图片描述] [在这里插入图片描述] 我们可以通过点击更多,点击编辑器指引来学习每个部分具体功能 [在这里插入图片描述] 中间部分是编辑预览区...、样式及事件 [在这里插入图片描述] 顶部是菜单区,般我们代码编辑完后需要提交到服务器里,日常预览发布也需要在菜单上操作 [在这里插入图片描述] 我们在数据源定义数据,如果需要在页面上使用,往往需要在变量管理里定义...[在这里插入图片描述] 在组件数据签,每个属性旁边超链接图标是可以进行数据绑定,主要是为了进行数据显示 [在这里插入图片描述] 页面管理页面编辑 编辑器左侧一个图标可以进行页面管理,如果我们需要新建一个页面...,点击创建新页面按钮即可 [在这里插入图片描述] 创建页面时候需要录入页面的标题和ID,标题按照页面规划命名,列表页面、新增页面、修改页面、详情页面等,ID的话是用来页面做跳转时候使用,使用有意义英文进行命名...在这里插入图片描述] 通用组件主要是些常规组件如按钮、文本、图片、图标等 [在这里插入图片描述] 容器分类主要包括了容器、滚动容器、轮播等,我们显示类组件般是需要放置到容器里才可以控制样式 [在这里插入图片描述

    1.2K20

    零基础使用Django2.0.1打造在线教育网站():项目介绍

    点击公开课:你可以看到课程列表,排序-搜索。热门课程推荐和课程分页。 点击课程:你可以在课程详情对课程进行收藏和取消收藏。同时可以采用富文本对课程内容进行展示。...机构列表右侧有快速提交我要学习表单,之后你便可以开始学习了。 点击机构:它左侧会呈现:机构首页,机构课程,机构介绍,机构讲师这四部分。 后台管理系统可以切换主题。...左侧每一个功能都有列表显示,具有增删改查,筛选功能。 课程列表可以对不同字段进行排序。你可以选择多条记录进行删除操作。...课程列表:点击过滤器,选择字段范围开始搜索,结果可以导出csv,xml,json等格式文本。 你可以在课程新增页面上传图片,和进行富文本编辑,时间选择,添加章节,添加课程资源等。...学完过后 你不仅对Django基础知识有了一个比较深刻印象,还对MTV,MVC模式有了一个更加全面的了解,举反三,你可以利用它开发各种类型网站,电商购物,在线旅游,公司官网,个人博客等其他网站

    1.7K50

    网页制作105个问答

    有时链接发生在一个网页里,比如页面上半部分列出了目录,下部分就列出了内容,而单击目录任何一个项目都可以跳到指定部分,可以在要被链接内容部分设置如下方式:   而要链接到以上设置部分...35.如何让提交表单后打开一个新窗口显示提交结果? 如果你站点上有邮件列表服务,每当访问者订阅并按下订阅按钮后。...因为邮件列表需要订阅确定,而这种服务多为第三方提供,所以订阅确定会连接到服务商页面。这样有时会照成访问者离开了站点。...target是链接标签属性,它作用就是指定目标窗口,target有以下几个值: _self-将链接指向内容装载到当前窗口或框架 _top-完全取代当前页面的所有框架 _blank-为链接指向内容打开一个窗口...: 67.如何为链接提供一个按钮?

    4.7K20

    Django教程第1章 | 快速入门 | 基础知识

    安全性: Django 内置了些安全性功能,例如防止常见 Web 攻击( CSRF 攻击),并提供了方便用户身份验证和授权系统。...除了以上三层之外,还需要一个 URL 分发器,它作用是将一个个 URL 页面请求分发给不同 View 处理,View 再调用相应 Model 和 Template,MTV 响应模式如下所示:...而在默认页面显示,将两者分离开来,无法体现出两者从属关系。我们可以使用内联显示,让 Tag 附加在 Contact 编辑页面上显示。...在 Contact 输入数条记录后,Contact 列表看起来如下: 我们也可以自定义该页面的显示,比如在列表显示更多栏目,只需要在 ContactAdmin 增加 list_display...: 搜索功能在管理大量记录时非常有用,我们可以使用 search_fields 为该列表增加搜索栏: admin.py from django.contrib import admin from TestModel.models

    26810

    独立站接入接入QQ键登陆流程

    网站接入申请 网站接入前,需首先进行申请,获得对应appid与appkey,以保证后续流程可正确对网站与用户进行验证与授权。 2.1 添加网站 开发者注册成功后,会跳转到“管理中心”页面。...在管理中心,点击申请网站下“编辑信息”,进入编辑页面,点击右上角“编辑”按钮页面进入编辑状态,即可对网站信息进行修改和完善,如下图所示: 3....、注册页面上放置“QQ登录”标识(见红色方框标记处): 网站需要下载官方提供“QQ登录”按钮图片,并按照UI规范将按钮放置页面合适位置。...成功登录后,弹出授权框引导用户授权(仅在第次成功登录,以及第次访问某个未授权OpenAPI时会出现授权),如下图所示: 授权框授权列表由网站自行配置,详见scope参数说明。...该攻略对于般网站和WAP网站接入都适用,WAP网站接入时需特别注意地方特别用红色标注。 基于OAuth2.0协议:接入过程详见OAuth2.0开发文档。

    2.2K30

    Django 实现分页功能

    一个参数是数据源,可以是一个列表、元组、以及查询结果集 QuerySet。第二个参数需要传入一个整数,表示每页显示数据条数。...10 条, 进行分割 paginator = Paginator(book_list, 10) 上面代码,我们传入一个名为 book_list 列表,该列表中含有 25 本书,然后我们给 Paginator...如果 number = 1,那么 page() 返回对象是第 Page 对象。在前端页面显示数据,我们主要操作都是基于 Page 对象。...具体用法如下: # 使用 paginator 对象返回第 1 page 对象 books = paginator.page(1) Page 对象有三个常用属性: object_list: 表示当前页面上所有对象列表...当拿到视图传递过来 books(books 是一个 Page 对象), 就在 for 循环中打印数据。最后使用 books 根据页面情况展示上按钮,当前页数,总页数,下按钮

    1.5K20
    领券