目前尝试在django-crispy-forms中添加占位符文本(灰色),但无法显示。有任何想法吗?我尝试了几件事,但每次都无法在文本字段中产生任何输出。
from django import forms
from .models import TaskItem
from crispy_forms.bootstrap import AppendedText, PrependedText
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, ButtonHolder, Submit
from crispy_forms.layout import Field
class TaskItemForm(forms.ModelForm):
# task is changed to taskn
taskn = forms.CharField(max_length = 300)
def __init__(self, *args, **kwargs):
super(TaskItemForm, self).__init__(*args, **kwargs)
self.fields['taskn'].label = False
PrependedText('taskn', '@', placeholder="username")
self.helper = FormHelper()
self.helper.layout = Layout(
'taskn',
ButtonHolder(
Submit('Submit', 'Submit', css_class='btn-primary' , css_id = "floater")
),
Field(placeholder = 'test'
)
)
# An inline class to provide additional information on the form.
class Meta:
fields = ('taskn',)
#This is the association between the model and the model form
model = TaskItem
答案 0 :(得分:0)
您在PrependedText
对象中没有Layout
:
from django import forms
from .models import TaskItem
from crispy_forms.bootstrap import AppendedText, PrependedText
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, ButtonHolder, Submit
from crispy_forms.layout import Field
class TaskItemForm(forms.ModelForm):
class Meta:
model = TaskItem
fields = ('taskn',)
def __init__(self, *args, **kwargs):
super(TaskItemForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = Layout(
PrependedText('taskn', '@', placeholder="username"),
ButtonHolder(
Submit(
'Submit',
'Submit',
css_class='btn-primary',
css_id='floater',
)
),
)