以这个非常简单的形式为例:

class SearchForm(Form):
    q = forms.CharField(label='search')

这将在模板中呈现:

<input type="text" name="q" id="id_q" />

但是,我想将placeholder属性添加到这个字段中,其值为Search,这样HTML看起来就像:

<input type="text" name="q" id="id_q" placeholder="Search" />

我希望通过字典或类似的方式将占位符值传递到form类中的CharField:

q = forms.CharField(label='search', placeholder='Search')

实现这一目标的最佳方式是什么?

推荐答案

看看widgets documentation.基本上是这样的:

q = forms.CharField(label='search', 
                    widget=forms.TextInput(attrs={'placeholder': 'Search'}))

更多的写作,是的,但分离允许更好地抽象更复杂的情况.

还可以直接在ModelForm子类的Meta上声明包含<field name> => <widget instance>映射的widgets属性.

Python相关问答推荐

如何在Pandas 中存储二进制数?

在Python中添加期货之间的延迟

try 使用tensorFlow.keras.models时optree Import错误

如何将自动创建的代码转换为类而不是字符串?

删除pandas rame时间序列列中未更改的值

在matplotlib动画gif中更改配色方案

Locust请求中的Python和参数

Select 用a和i标签包裹的复选框?

比较两个数据帧并并排附加结果(获取性能警告)

Odoo 14 hr. emergency.public内的二进制字段

无法使用requests或Selenium抓取一个href链接

ODE集成中如何终止solve_ivp的无限运行

如何在WSL2中更新Python到最新版本(3.12.2)?

将输入聚合到统一词典中

有没有一种ONE—LINER的方法给一个框架的每一行一个由整数和字符串组成的唯一id?

可以bcrypts AES—256 GCM加密损坏ZIP文件吗?

如何使regex代码只适用于空的目标单元格

Matplotlib中的字体权重

OpenGL仅渲染第二个三角形,第一个三角形不可见

为什么Python内存中的列表大小与文档不匹配?