我在表单中添加占位符属性时遇到麻烦。我想添加一个占位符,使我的HTML看起来像:
<input type="text" name="sample" placeholder="sample">
现在,这是我的代码。
这是我的模型:
from django.db import models
class Sample(models.Model):
name = models.CharField("Name", max_length=120)
这是我的表格:
from django.forms import ModelForm, TextInput
from .models import Sample
class SampleForm(ModelForm):
class Meta:
INPUT_CLASS = 'form-control'
model = Sample
widgets = {
'name': TextInput(attrs={'class':INPUT_CLASS,
'placeholder':'Enter title here'}),
}
观看次数
def update(request):
sampleForm = SampleForm()
return render(request, 'sample/profile.html', 'form':sampleForm)
在我的表单中,当我包含占位符属性时,它不起作用。什么是使这项工作最好的方法?
最佳答案
有点晚了,但是我还是会努力的。我一直在尝试做同样的事情,而不必重新定义表单中使用的小部件。发现以下作品:
class ExampleForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ExampleForm, self).__init__(*args, **kwargs)
# sets the placeholder key/value in the attrs for a widget
# when the form is instantiated (so the widget already exists)
self.fields['name_of_field'].widget.attrs['placeholder'] = 'random placeholder'
编辑:尽管我意识到这不能回答您的问题,为什么您的代码不起作用...
关于python - 如何在Django表单中添加占位符属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37626119/