(2023.3.13) Today_I_Learned_day-141

imRound·2023년 3월 13일
0
post-thumbnail

django-autocomplete-light(dal)

  • Django 프로젝트에서 자동완성을 쉽게 구현할 수 있게 도와주는 패키지
  • 폼 필드, 검색 뷰, 선택 위젯, 더 보기 기능 등을 빠르고 쉽게 구현할 수 있다.

예제


# views.py

from dal impport autocomplete
from .models import Example

class ExampleAutocomplete(autocomplete.Select2QuerySetView):
		def get_queryset(self):
				qs = Example.objects.all() # Example 모델에서 모든 데이터를 가져와 qs에 저
				
				if self.q:
						qs = qs.filter(name__icontains=self.q) # name 필드에서 검색어를 포함한 결과 필터링
				return qs

# urls.py

from django.urls import path
from .views import ExampleAutocomplete

urlpatterns = [
		path('example-autocomplete/', ExampleAutocomplete.as_view(), name='ex-auto')
]
from django import forms
from dal import autocomplete_light
from .models import Example

class ExampleForm(forms.ModelForm):
		class Meta:
				model = Example
				fields = '__all__'
				widgets = {
						'my_field': autocomplete_light.TextWidget('ex-auto')
						# 자동완성 기능을 적용할 뷰의 URL을 전
}
profile
Django 개발자

0개의 댓글