我如何通过删除标签并将其设为占位符来在一行中添加 Django 过滤器?
how can i add Django Filter in one line by removing the label and making it placeholder?
这是我的filters.py
class StudentFilterSel(django_filters.FilterSet):
class Meta:
model=Student
fields=['registrationSession','registrationNumber','studentName','applyingForClass','studentDob','studentAadharNum','fathersName','fathersContactNumber']
这是我的views.py
def selectedList(request):
Studentss=Student.objects.filter(AdmissionStatus='Selected')
myFilter=StudentFilterSel(request.GET,queryset=Studentss)
Studentss=myFilter.qs
return render(request,"register/selectedList.html",{'myfilter':myFilter,"Studentss":Studentss})
这是我的 HTML 文件
<form method='get'>
{{myfilter.form}}
<button type="submit">search</button>
</form>
我的 table 中需要很多过滤器,但它们变得扭曲并变成多行 我怎样才能删除标签并将其更改为占位符以减少 space?
您可以自定义小部件,就像在表单中一样。以下内容适用于文本输入字段:
studentName = django_filters.CharFilter(label='',
lookup_expr='icontains',
widget=forms.widgets.TextInput(attrs={'placeholder':'Student Name'}))
或者您可以在过滤器的初始化中完成。以下内容适用于选择字段:
def __init__(self, *args, **kwargs):
super(StudentFilterSel, self).__init__(*args, **kwargs)
self.filters['registrationSession'].label = ''
self.filters['registrationSession'].extra['empty_label'] = "Registration"
这是我的filters.py
class StudentFilterSel(django_filters.FilterSet):
class Meta:
model=Student
fields=['registrationSession','registrationNumber','studentName','applyingForClass','studentDob','studentAadharNum','fathersName','fathersContactNumber']
这是我的views.py
def selectedList(request):
Studentss=Student.objects.filter(AdmissionStatus='Selected')
myFilter=StudentFilterSel(request.GET,queryset=Studentss)
Studentss=myFilter.qs
return render(request,"register/selectedList.html",{'myfilter':myFilter,"Studentss":Studentss})
这是我的 HTML 文件
<form method='get'>
{{myfilter.form}}
<button type="submit">search</button>
</form>
我的 table 中需要很多过滤器,但它们变得扭曲并变成多行 我怎样才能删除标签并将其更改为占位符以减少 space?
您可以自定义小部件,就像在表单中一样。以下内容适用于文本输入字段:
studentName = django_filters.CharFilter(label='',
lookup_expr='icontains',
widget=forms.widgets.TextInput(attrs={'placeholder':'Student Name'}))
或者您可以在过滤器的初始化中完成。以下内容适用于选择字段:
def __init__(self, *args, **kwargs):
super(StudentFilterSel, self).__init__(*args, **kwargs)
self.filters['registrationSession'].label = ''
self.filters['registrationSession'].extra['empty_label'] = "Registration"