在 Django 表单字段之间显示一些自由文本

2024-02-25

我有一个如下所示的表格:

class MyForm(Form):

  #personal data
  firstname = CharField()
  lastname = CharField()

  #education data
  university = CharField()
  major = CharField()

  #foobar data
  foobar = ChoiceField()

由于某些字段(如 foobar)是从数据库填充的,除了让 Django 使用 form.as_ul 为我渲染它之外,我无法使用其他方法

我也希望我不必将表单拆分为多种形式以方便维护

有没有办法告诉 Django 在这些表单部分之间显示帮助文本,以便我可以输入一些有关如何填写表单的说明?

我希望表单能够呈现如下内容:

<form>

  <p>Here you enter your personal data...</p>
  <input name='firstname'>
  <input name='lastname'>

  <p>Here you enter your education data...</p>
  <input name='university'>
  <input name='major'>

</form>

我需要创建自己的小部件才能显示这些小部件吗<P>标签,或者有​​更简单的方法吗?

Thanks


在不使用 form.as_ul 在模板中显示表单的情况下执行此操作的一种方法是使用 django-uni-form。首先你必须下载它here http://github.com/pydanny/django-uni-form并安装它。然后用于设置表单的代码可能如下所示:

from uni_form.helpers import FormHelper, Submit, Layout, Fieldset

class MyForm(Form):

    #personal data
    firstname = CharField()
    lastname = CharField()

    #education data
    university = CharField()
    major = CharField()

    #foobar data
    foobar = ChoiceField()

    # now attach a uni_form helper to display the form
    helper = FormHelper()

    # create the layout
    layout = Layout(
         # first fieldset
         Fieldset("Here you enter your personal data...",
             'firstname', 'lastname'),
         Fieldset("Here you enter your education data...",
             'university', 'major'),
         Fieldset('foobar')

    # and add a submit button
    sumbit = Submit('add', 'Submit information')
    helper.add_input(submit)

现在,要在模板中显示此内容,您可以执行以下操作:

{% load uni_form %}
{% with form.helper as helper %}
    {% uni_form form helper %}
{% endwith %}

这将输出 HTML(大致)如下所示:

<form>
<fieldset><legend>Here you enter your personal data...</legend>
<input name='firstname'>
<input name='lastname'>
</fieldset>

<fieldset><legend>Here you enter your education data...</legend>
<input name='university'>
<input name='major'>
</fieldset>

<fieldset>
<input name='foobar'>
</fieldset>

</form>

有关 uni_form 的更多信息,请阅读他们的文档(请参阅上面的链接)。

PS:我意识到这个回复已经晚了,我相信你已经解决了这个问题,但我认为这对现在遇到这个问题的人应该有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Django 表单字段之间显示一些自由文本 的相关文章

随机推荐

  • Visual Studio 自动完成 C++ 的 Doxygen 标签

    有没有办法让 Visual Studio 自动将 doxygen 标签放入 C 源文件中 我的意思是例如这段代码 int foo bool p 如果我输入 在其之上 Visual Studio 自动生成以下行
  • 负整数返回零

    一位朋友只是抛出了一些类似于以下 C 代码的代码 int i return i lt 0 0 i 这让我思考 有什么 不同 的方式来返回负整数零或当前正值 更具体地说 如果可能的话 我正在寻找按位运算 顺便说一句 我知道Math Max 0
  • 如何在这个程序中使用枚举?

    f open Student dat r opens Student dat file roll1 input Enter roll to be found to find a record in a list using a roll n
  • 移动浏览器上的“自动播放”HTML5 音频播放器

    我正在为移动用户创建一个 HTML5 音乐网站 目标是让它完全在移动浏览器中运行 问题是 当用户选择要播放的曲目时 他们会被带到 播放器 页面 然后我在 HTML5 音频元素中进行 AJAX 并将 autoplay 属性设置为 true 这
  • jQuery 从元素中删除特定文本

    我想从我的网站的元素中删除文本 By 我希望文本的其余部分保留在那里 我怎样才能用 jQuery 实现这一点 谢谢 The HTML div By Anonymous From Minnesota div 我希望它只是 div Anonym
  • JPanel 和 CardLayout 出现 NullPointerException 错误

    我正在为课堂开发酒店管理软件 我的代码遇到了一些问题 此时 我只是尝试将我在单独的类中创建的 JPanel 添加到我的主 gui 中 任何帮助将不胜感激 谢谢 Exception in thread main java lang NullP
  • Python语音识别速度很慢

    我目前正在开发一个智能助手程序 基本上它只是听用户说的话 并据此对代码执行某些操作 直到今天我切换到笔记本电脑时 它都运行良好 该程序不会打印出任何错误 但它也不会打印出我所说的内容 我正在使用Python语音识别 https pypi o
  • 无法使用 PHP 和 Nginx 让 Zorba 在 Windows 7 上运行

    我正在尝试在 Windows 7 计算机上安装 Zorba 的帮助指示 http zorba xquery com doc zorba 2 0 zorba html php windows tutorial html 我已经完成 验证 Zo
  • 将 MSSQL 中除第一个字符和空格之外的字符串的所有字符替换为星号

    我想知道是否可以通过函数对 mssql 中的敏感数据进行哈希处理 并为所有字段保留第一个字符 原样 例子 Jon Kirk 名字应提取为 J K 我首先发布了一个递归解决方案 这更快 declare name varchar 20 Jon
  • Django 的 Capistrano

    有谁知道 Django 中 Capistrano Webistrano 的等效版本吗 Fabric http fabfile org是一个基于Python的应用部署系统 它可用于部署 Django 项目
  • git 没有完全退出(退出代码 128)[重复]

    这个问题在这里已经有答案了 我收到这个错误 尝试了所有解决方案如何解决 TortoiseGit 上的 git 未完全退出 退出代码 128 错误 https stackoverflow com questions 9617336 how t
  • Rails 3.1,capybara-webkit,如何在链接内执行javascript?

    我可以在与水豚的链接中执行javascript吗click link next page 该链接如下所示 a href Next Question a 我在 github 的 capybara 上读到 我可以通过单击提交按钮来提交表单 如下
  • OpenCV 中如何知道图像是否为 RGB?

    我使用 OpenCV 库用 C 编写了一个程序 该程序从网络摄像头录制视频 然后将其分割成帧 我想知道帧是否为 RGB 因为我想访问每个像素的 RGB 属性 用于捕获的编解码器是 CV FOURCC M J P G 如何获取 RGB 色彩空
  • pycharm中的源和资源根是什么?

    我正在开发一个关于 NLP 的项目 我有一个很大的语料库和一些代码 我想在我的项目中将它们分开 但我想知道选择正确的名称是什么 数据与代码就像汇编中的数据段和代码段 或者 来源和资源正如我的一位朋友所坚持的那样 这是正确的术语 我还在 py
  • Android 连接到本地主机

    我试图通过 wamp 服务器将我的 Android 应用程序连接到本地主机 url 但它不起作用 我的目标是获取 json 数据并解析这些数据 对于我的测试 我使用的是设备而不是模拟器 并且我使用 AndroidManifest xml 中
  • 从函数内的 JSON 响应更新全局变量

    我正在尝试从 JSON 响应中获取一些变量并将其显示在自定义表视图中 问题是变量永远不会更新 更多解释是我的代码 func getAddresses let todosEndpoint String my link guard let to
  • 从 Ubuntu 10.10 升级到 12.04 后,multiprocessing.map 和 joblib 仅使用 1 个 cpu

    我有一些完美运行的 python 代码 它使用多处理模块并以 100 的速度加载我机器上的所有 8 个 CPU 当我从 Ubuntu 10 10 升级到 12 04 后 最明显的事情 也许我做了其他什么事情破坏了一切 它停止工作 经过大量调
  • neo4j cypher 单标签与多标签性能

    考虑以下示例 一个基于 Neo4j 的 wiki 其中包含大量文章和更多文章版本 所有编辑的历史记录 使用多个标签来标识每个节点有多大区别 article Article Public article Article Version 然后查
  • 使用CTE简化SQL语句

    我有一个如下查询 SELECT A a A b B c CASE WHEN THEN ELSE END AS CalculatedValue B d FROM dbo TableA A INNER JOIN dbo TableB B ON
  • 在 Django 表单字段之间显示一些自由文本

    我有一个如下所示的表格 class MyForm Form personal data firstname CharField lastname CharField education data university CharField m