gpt4 book ai didi

django - 手动渲染 MultiValueField 的子字段

转载 作者:行者123 更新时间:2023-12-02 17:23:31 26 4
gpt4 key购买 nike

在我的 Django 1.7 应用程序中,我尝试利用 MultiValueField 类来实现密码/确认密码表单元素,即两个单独的密码字段,要求用户输入然后确认新密码。我已经使用两个单独的字段和 clean() 来完成此操作方法,但“单一”MultiValueField 似乎是坚持 DRY 原则的更好方法,特别是因为我不仅需要在用户注册表单中复制此内容,而且当用户想要更改密码时也需要复制此内容。

但是,我的前端非常具体,一点也不像 Django 的默认表单输出,所以我 manually rendering my form fields 。这非常有效——直到我到达 MultiValueField。对于每个表单字段,我的 HTML 如下所示:

<div class="row collapse">                                                                                                                                                                                                                                    
<div class="small-2 columns">
<span class="prefix"><i class="fi-mail"></i></span>
</div>
<div class="small-10 columns {% if form.email.errors %}error{% endif %}">
{{ form.email }}
{% if form.email.errors %}<small class="error">{{ form.email.errors }}</small>{% endif %}
</div>
</div>

我需要对 form.password 的每个子字段进行类似的格式化,但我尝试过的任何方法都没有给我一个渲染的子字段;我最接近的是 {{ form.fields.password.fields.0 }}在我的模板中,它给出了类似 <app.fields.PassField object at 0x7fb619821ef0> 的输出,但这显然不是渲染的表单字段。

我是否遗漏了一些简单而明显的东西,或者我想要做的事情在 Django 中是不可能的?

最佳答案

Render only one part of a MultiWidget in Django中的代码正如farthVader 建议的那样,适合您的问题。

关于django - 手动渲染 MultiValueField 的子字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27391294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com