在文本输入字段中设置示例答案

时间:2015-05-04 08:37:37

标签: python django django-forms

我正在尝试在文本输入字段中设置默认值,为用户提供输入内容的示例。这应该是灰色的,一旦开始输入就会消失。我已经尝试设置initial值,但是当用户开始输入并且格式与用户输入的答案相同时,这不会自动替换。

form = VerbTestForm(initial={'answer': tip.tip})

我需要传递给我的表单才能获得我正在寻找的行为?

3 个答案:

答案 0 :(得分:1)

设置小部件的placeholder属性:

form = VerbTestForm()
form.fields['answer'].widget.attrs['placeholder'] = tip.tip

答案 1 :(得分:1)

您正在设置初始值,但您正在寻找占位符

你应该尝试这样的事情:

class VerbTestForm(forms.ModelForm):
    # Your code ...
    class Meta:
        # Your code ...

        widgets = {
            'answer': forms.TextInput(attrs={'placeholder': tip.tip}),
        }

或者您可以在定义表单后添加占位符,如:

form = VerbTestForm()
form.fields['answer'].widget.attrs['placeholder'] = tip.tip

官方文档说得很清楚,你应该检查一下:

答案 2 :(得分:1)

小部件占位符是您的答案:

 class VerbTestForm(forms.Form):
     answer = forms.CharField(widget=forms.TextInput(attrs={'placeholder': tip.tip}))

您可以通过调用as_p或as_table方法

快速测试生成的HTML
>>> f = VerbTestForm(auto_id=False)
>>> f.as_table()