Django 表单集分页

2023-11-24

我有一个模型表单集,我想使用 Django 的 Paginator 一次显示 10 个表单,但不能像这样完成paginator = Paginator(formset, 10)。如果有办法的话,正确的方法是什么?


这是我发现的问题解决方案的通用示例:

In the forms.py file:

class MyForm(ModelForm):
    class Meta:
        model = MyModel
        fields = ('description',)

In the views.py file:

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

FormSet = modelformset_factory(MyModel, form=MyForm, extra=0)
if request.method == 'POST':
    formset = FormSet(request.POST, request.FILES)
    # Your validation and rest of the 'POST' code
else:
    query = MyModel.objects.filter(condition)
    paginator = Paginator(query, 10) # Show 10 forms per page
    page = request.GET.get('page')
    try:
        objects = paginator.page(page)
    except PageNotAnInteger:
        objects = paginator.page(1)
    except EmptyPage:
        objects = paginator.page(paginator.num_pages)
    page_query = query.filter(id__in=[object.id for object in objects])
    formset = FormSet(queryset=page_query)
    context = {'objects': objects, 'formset': formset}
    return render_to_response('template.html', context,
                              context_instance=RequestContext(request))

您需要使用当前页面中的对象创建表单集,否则,当您尝试执行以下操作时formset = FormSet(request.POST, request.FILES)在 POST 方法中,Django 引发 MultiValueDictKeyError 错误。

In the template.html file:

{% if objects %}
    <form action="" method="post">
        {% csrf_token %}
        {{ formset.management_form }}
        {% for form in formset.forms %}
            {{ form.id }}
            <!-- Display each form -->
            {{ form.as_p }}
        {% endfor %}
        <input type="submit" value="Save" />
    </form>

    <div class="pagination">
        <span class="step-links">
            {% if objects.has_previous %}
                <a href="?page={{ objects.previous_page_number }}">Previous</a>
            {% endif %}

            <span class="current">
                Page {{ objects.number }} of {{ objects.paginator.num_pages }}
            </span>

            {% if objects.has_next %}
                <a href="?page={{ objects.next_page_number }}">next</a>
            {% endif %}
        </span>
    </div>
{% else %}
    <p>There are no objects.</p>
{% endif %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 表单集分页 的相关文章

  • 可以memmap pandas系列。数据框怎么样?

    看来我可以通过创建 mmap d ndarray 并使用它来初始化系列来对 python 系列的底层数据进行内存映射 def assert readonly iloc try iloc 0 999 Should be non editabl
  • 在 python 中查找价格动量的有效方法:对列的最后 n 个条目求平均值

    我正在定义价格动量是给定股票过去动量的平均值n days 反过来 动量是一种分类 如果当天的收盘价高于前一天 则每天标记为 1 如果当天的收盘价低于前一天 则标记为 1 我的库存变化百分比如下 df close in percent np
  • 从内存中发送图像

    我正在尝试为 Discord 机器人实现一个系统 该系统可以动态修改图像并将其发送给机器人用户 为此 我决定使用 Pillow PIL 库 因为它对于我的目的来说似乎简单明了 这是我的工作代码的示例 它加载一个示例图像 作为测试修改 在其上
  • 参数太少错误,同时未使用参数占位符

    我尝试使用 PYODBC 在 Access 数据库中执行 SQL 查询 但出现以下错误 pyodbc Error 07002 07002 Microsoft ODBC Microsoft Access 驱动程序 参数太少 预期为 1 301
  • Emacs:在缓冲区求值期间将参数传递给下级 Python shell

    最近我开始使用 Emacs 作为 Python IDE 它不太直观 我现在遇到的问题是当使用 C c C c 评估缓冲区时如何将命令行参数传递给下级 python shell 感谢帮助 这似乎并不容易实现 管理的劣质流程python el模
  • pybind11:如何将 c++ 和 python 代码打包到一个包中?

    我正在尝试使用 CMake 和 pybind 11 将现有的 Python 代码和新的 C 11 代码打包在一起 我认为我缺少一些可以添加到 CMake 脚本中的简单内容 但在任何地方都找不到它 pybind11 示例只有 C 代码和没有P
  • 如何在 Django 1.4 中自定义管理过滤器

    我是 Python 和 Django 开发的新手 我从社区提供的易于阅读的示例中学到了很多东西 但最近我想为 Django 附带的管理控制台实现一个自定义的管理过滤器 我进行了很多搜索 只发现了一些过时的方法来完成它 例如 Django 1
  • Selenium 上的切换窗口

    我在 Python 中使用 Selenium 和 PhantomJS 我需要打开一个新窗口并控制它 出于测试目的 我这样做 from selenium import webdriver driver webdriver PhantomJS
  • 配置 Flask 以正确加载 Bootstrap js 和 css 文件

    如何使用 Flask 中的 url for 指令来正确设置 以便使用 Bootstrap 和 RGraph 的 html 页面可以正常工作 假设我的 html 页面看起来像这样 部分片段
  • Buildozer Numpy RuntimeError:工具链损坏:无法链接简单的 C 程序

    用 Python 编写我的第一个 Android 应用程序并使用 Buildozer 对其进行打包 因为稍后在项目中需要使用numpy 所以我尝试打包以下测试代码 import numpy import kivy kivy require
  • Tkinter 按钮鼠标右键和左键单击有不同的命令

    我正在用 Python 制作扫雷游戏 并使用 tkinter 库来创建 gui 有没有 绑定到 tkinter 按钮两个命令的方法 一个是右键单击按钮时的命令 另一个是单击左键时的命令 通常 按钮仅设计用于单击 但 tkinter 允许您为
  • 如何避免在matplotlib中调用latex(输出到pgf)

    我使用 matplotlib 及其 pgf 后端来生成包含在 LaTeX 投影仪文档中的绘图 当我使用未定义的乳胶命令时 我遇到了麻烦 但对于我的应用程序 我不需要 matplotlib 来使用 Latex 生成标签或注释 我只想要正确的
  • Python 用静态图像将 mp3 转换为 mp4

    我有x文件包含一个列表mp3我想转换的文件mp3文件至mp4文件带有static png photo 似乎这里唯一的方法是使用ffmpeg但我不知道如何实现它 我编写了脚本来接受输入mp3文件夹和一个 png photo 然后它将创建新文件
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 使用条件在 pandas 数据框中生成新列

    我有一个 pandas 数据框 如下所示 portion used 0 1 1 0 1 2 0 3 2 3 0 0 3 4 0 8 我想根据以下内容创建一个新专栏used列 以便df看起来像这样 portion used alert 0 1
  • 出于安全目的,您是否有理由不执行自己的算法来打乱 ID?

    我计划实现我自己的非常简单的 哈希 公式 为具有多个用户的应用程序添加一层安全性 我目前的计划如下 用户创建一个帐户 此时后端会生成一个 ID ID 通过公式运行 假设 ID 57 8926 36 7 或同样随机的东西 然后 我将新的用户
  • (venv) (base) 都在 python 项目上活跃,我如何只进入 venv?

    所以我将 vscode 与 conda 对于 django 项目 一起使用 并尝试激活名为 venv 的虚拟环境 它来自 base C Users User Desktop pfa master pfa master venv Script
  • gstreamer 中的无缝视频循环

    我正在尝试使用 gstreamer 循环播放视频 它是 python 绑定 第一次尝试是hook EOSmessage并为管道生成搜索消息 import gi gi require version Gst 1 0 from gi repos
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • 通过过滤对 Pyspark Dataframe 进行分组

    我有一个数据框如下 cust id req req met 1 r1 1 1 r2 0 1 r2 1 2 r1 1 3 r1 1 3 r2 1 4 r1 0 5 r1 1 5 r2 0 5 r1 1 我必须观察客户 看看他们有多少要求 看看

随机推荐

  • MySQL:存储过程中的 IF / THEN 语句

    我正在编写一个使用多个 IF THEN 语句的存储过程 如果它们的计算结果为 true 则还需要执行多个查询 问题是 我似乎找不到任何适当语法的示例 来自MySQL 开发手册 似乎我可以在 statement list 中进行多个查询 但到
  • Thread.sleep 等待时间超出预期

    以下代码 long msBefore System currentTimeMillis Thread currentThread setPriority Thread MAX PRIORITY try Thread sleep 200 ca
  • 查找 MySQL JSON 对象或数组的交集

    问题是关于MySQL MariaDB JSON 函数 如何找到多个 JSON 结构的交集 在 PHP 中 它是使用以下代码完成的 array intersect a b b c 如果我们想象一个名为 JSON INTERSECT 的函数 代
  • 接受来自 scanf 函数的任意数量的输入

    我正在尝试使用读取未知数量的输入scanf功能 int a 100 int i 0 while scanf d a i n i Next part of the code 但是这个函数不会进入代码的下一部分 似乎有一个无限的 while 循
  • Spring - 计划任务 - 优雅关机

    我有一个 Spring Boot 应用程序 其中有一个 Bean 以大约 1 分钟的间隔运行计划任务 并且该 Bean 有一个 PreDestroy方法 是否有解决方案允许当前正在执行的任务在生命周期到达预销毁阶段之前完成 或者至少给定一些
  • 如何管理 AngularJS 中加载指令模板的 404 错误

    在 AngularJS 指令中templateUrl参数是动态定义的 templates content id html 我不想建立规则来检查是否content id值有效并将其管理为 404 错误 即如果模板不存在 服务器在加载模板时返回
  • 如何区分InputBox取消和确定按钮?

    快速提问 我正在使用一个Microsoft VisualBasic Interaction InputBox在我的 C 代码中允许用户将网站添加到列表中 但我不希望他们输入空字符串 因此我会弹出错误窗口 以防发生这种情况 但是 如果用户按
  • 如何删除向量的每个第三个元素?

    我有以下向量 myList c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 如何删除每个第三个元素 不是这样的 myList myList 3 myList myList 6 我需要以下输出 1 2 4 5 7
  • 无法在AWS Lambda函数上使用ES6;如何在 Lambda 中导入 ES6 模块

    我有一个图书馆foo这是用 ES6 编写的 import export并在打字稿中 我有一个应用程序bar它使用foo bar也是用导出和 Typescript 编写的 我想得到bar在 AWS Lambda 上运行 据我所知 我不能使用i
  • =+ Python 运算符语法正确

    我无意中写道 total acc accuracy 代替 total acc accuracy 我在网上搜索没有找到anything 那么发生了什么 为什么 Python 认为我正在输入的内容是什么意思 Computers trust us
  • 从 python BeautifulSoup 的输出中删除新行 '\n'

    我正在使用 python Beautiful soup 来获取以下内容 div class path a href abc a a href def a a href ghi a div 我的代码如下 html doc div class
  • 使用 Google-Maps-iOS-SDK (1.8.1) 时架构 armv7 的未定义符号

    我正在尝试添加使用 cocoapods 0 33 1 的 Google Maps iOS SDK 1 8 1 部署目标版本 iOS 7 0 我添加了这个 Pod pod Google Maps iOS SDK gt 1 8 正确下载并安装了
  • 如何在没有 Storyboard 的情况下在 UITableViewRowAction 中自定义字体和颜色

    我有经典的 TableView 如果您滑动并单击按钮 您可以删除项目 我知道如何在单元格上设置自定义背景 但我找不到如何为其设置自定义字体和颜色 谢谢你的帮助 func tableView tableView UITableView edi
  • java 中的 Servlet - getWriter() 和 getOutputStream()

    为什么在一个实例上ServletResponse both getWriter and getOutputStream 不能被调用吗 一个设计决定 Writer 和 OutputStream 都维护自己的缓冲区 如果您分别创建一个 那么它们
  • 从 ArrayList 创建格式化字符串

    考虑以下代码 ArrayList
  • Unity 的 Mathf.PingPong 实际上是做什么的?

    Unity 文档用于数学乒乓球 says 乒乓球的价值t 因此它永远不会大于length并且永远不会小于0 我知道它正在 0 到 0 之间旋转一个值length 我不明白的是价值是什么t它与 PingPong 的运作方式有何关系 如果我设置
  • 枚举与架构不匹配:jaxb 或 xsd 有问题吗?

    我正在尝试使用 JAXB 来解组这个文件转换为 Java 对象 我知道 J6 中的 SAX 有一个问题 拒绝 maxOccurs 行 我已将其更改为unbounded 然而 当我xjc它 它没有创建我需要的所有类和枚举 例如 应该有一个ed
  • 命令行 perl 脚本中的进度条

    我正在尝试在命令提示符中以 形式打印进度 但它无法正常工作 我想将进度打印为 Status 10 Completed 当 20 完成时 它将显示状态 20 已完成 在同一个地方而不是在新行中 请你帮助我好吗 Code count per c
  • DataTables 插件 - 在 tfoot 标签下方显示滚动条?

    我使用 jQuery DataTables 插件 scrollX true用于水平滚动 为什么上面会出现滚动条tfoot标签 如何让它出现在页脚下方 var table example DataTable scrollX true scro
  • Django 表单集分页

    我有一个模型表单集 我想使用 Django 的 Paginator 一次显示 10 个表单 但不能像这样完成paginator Paginator formset 10 如果有办法的话 正确的方法是什么 这是我发现的问题解决方案的通用示例