python - 如何在 Django 中的 CharField 上添加占位符?

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

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" />

最好我想通过字典或类似的东西将占位符值传递给表单类中的 CharField:

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

最好的方法是什么?

最佳答案

看看widgets documentation .基本上它看起来像:

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

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

您也可以声明 widgets包含 <field name> => <widget instance> 的属性直接映射到Meta您的ModelForm子类。

https://stackoverflow.com/questions/4101258/

相关文章:

linux - sh : 0: getcwd() failed: No such file or d

linux - [ :Unexpected operator in shell programmin

python - 如何找到给定名称的类的所有子类?

linux - 如何永久清除 linux/ubuntu 终端或 bash 中的所有历史记录?

linux - 确定 yum 软件包安装到的路径

linux - 如何在 Linux 上获得整体 CPU 使用率(例如 57%)

python - 如何使用 python/numpy 计算百分位数?

python - 如何在不明确列出列的情况下从 pandas DataFrame 中选择具有一个或多

python - 使用 Python 向 RESTful API 发出请求

python - 如何从 python 代码调用 shell 脚本?