gpt4 book ai didi

django - 如何让 Django 表单显示 html 必需属性?

转载 作者:技术小花猫 更新时间:2023-10-29 12:12:48 25 4
gpt4 key购买 nike

我有这个表单域:

email = forms.EmailField(
required=True,
max_length=100,
)

它具有required 属性,但在html 中它没有添加html 属性required。事实上,它甚至没有使用 email 作为字段类型,它使用的是 text... 尽管它似乎可以很好地获取 max_length。

实际:

<input id="id_email" type="text" name="email" maxlength="100">

预期:

<input id="id_email" type="email" name="email" maxlength="100" required="true">

如何让 Django 在 html 表单中使用正确的属性?

最佳答案

Django 表单元素是针对 <input /> 编写的因为它存在于 HTML 4 中,其中 type="text"是电子邮件地址的正确选项。也没有 required="true" .

如果你想要自定义 HTML 属性,你需要 attrs 小部件 的关键字参数。它看起来像这样:

email = forms.EmailField(
max_length=100,
required=True,
widget=forms.TextInput(attrs={ 'required': 'true' }),
)

您可以查看有关小部件的更多文档 here .讨论attrs靠近该页面的底部。

关于 type="email" ,您也许可以将其发送到您的 attrs字典和 Django 将智能地覆盖其默认值。如果那不是你得到的结果,那么你的路线是子类 forms.TextInput然后将其传递给 widget关键字参数。

关于django - 如何让 Django 表单显示 html 必需属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7562573/

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