【问题标题】:Displaying a single form field in django templates?在 django 模板中显示单个表单字段?
【发布时间】:2011-10-11 11:56:17
【问题描述】:

我只想创造

forms.ChoiceField(choices=CHOICES)

字段来创建一个简单的选择 html 项。因为这就是我想要的,我真的不想创建一个新的表单类等。那么有没有一种方法可以在 django 模板中只呈现一个表单字段而不创建/传递表单?

例如:

def index(request, template_name="main/index.html"):
    select = forms.ChoiceField(choices=CHOICES)
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))

有没有办法可以在 django 模板中执行 {{ select }} 或类似的方法来创建选择项?

提前致谢!

【问题讨论】:

    标签: python html django forms templates


    【解决方案1】:

    如果您不需要整个 Django 表单类,我建议您只将选项列表传递给模板并对其进行迭代以创建 <option /> 标记为 <select>。这比尝试在模板级别渲染表单小部件要容易得多,imo。

    【讨论】:

    • 我最终这样做了,但我仍然很好奇模板中的单个表单字段是否可行。
    【解决方案2】:

    只有一个选择字段?为什么不直接将所有 HTML 代码写入您的模板,并仅通过使用模板标签将 CHOICES dict 发送到您的模板来处理它。

    【讨论】:

      猜你喜欢
      • 2017-12-15
      • 2011-01-15
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 2019-04-05
      • 2013-02-01
      • 2021-09-06
      相关资源
      最近更新 更多