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

标签 python django django-forms

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

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子类。

关于python - 如何在 Django 中的 CharField 上添加占位符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4101258/

相关文章:

python - 编写和运行任务 DAG 的最简洁方法是什么?

从 C 子进程读取数据时 Python 挂起

django - 在 Django 中将计算值从 View 保存到模型

python - 从列中获取低值、高值和平均值

python - np.where 数据框列 .isin 数据框列

python - 在 Django 中编写正确的数据模型

python - Django 应用程序运行良好,但收到 TEMPLATE_* 警告消息

python - 如何使用波斯日历更改 Django 日历的类型?

Django admin listview 自定义列名

python - 在 Django 中,如何从单个表单字段填充通用关系?