【问题标题】:Rendering forms through django-crispy-forms in python在 python 中通过 django-crispy-forms 渲染表单
【发布时间】:2012-06-29 10:38:19
【问题描述】:

我们需要在 python 中渲染表单并捕获 html 输出。到目前为止,我们使用的是肮脏的 hack:

defcrispy_page(表格): 迷你模板 = """ {% 加载crispy_forms_tags %} {% 酥脆形式 %} """ 从 django.template 导入模板,上下文 t = 模板(mini_template) c = 上下文({“表格”:表格}) 返回 t.render(c)

我们希望能够以某种方式直接从酥脆的表单中获取渲染输出,而不必跳过 django 模板系统。有什么想法吗?

【问题讨论】:

  • 你有帮手吗?你有布局吗?究竟是什么用例?如果我可以问,为什么你需要 Python 中的 HTML,可能有更好的方法来自定义输出。
  • 我确实有一个助手和一个布局。用例是双重的。 1)我想测试表单html输出。 2)我想让一个表单包含一个子表单。因此,在python中,我想将子表单渲染为html,然后将该html注入到子表单字段所在的容器表单中。

标签: python django


【解决方案1】:

These are the lines 节点中的{% crispy %} 标记用于呈现带有助手+布局的表单。我可以将它们重构出来,以便它们很容易从外部调用。该应用程序不被认为是用于服务器端的,这就是它如此死板的原因。

据我了解,你有一个表单 A 的一些字段,然后是另一个表单 B 的字段,然后是更多表单 A 的字段,对吗?

编辑 2012/7/30

版本 1.2.0 将附带一个 render_crispy_form 函数来解决您的问题: https://github.com/maraujop/django-crispy-forms/issues/64#issuecomment-7354910

【讨论】:

    猜你喜欢
    • 2014-03-12
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 2020-10-19
    • 2012-04-25
    • 1970-01-01
    • 2020-08-28
    • 2020-10-14
    相关资源
    最近更新 更多