我在表单中添加占位符属性时遇到麻烦。我想添加一个占位符,使我的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/

10-12 16:52