【Django】django-filterの導入・使い方
今回は、Djangoアプリケーションでデータをフィルタリングするためにdjango-filterを導入する方法と使い方について説明します。
導入方法
Djangoアプリケーションにdjango-filterを導入するには、まずpipを使用してdjango-filterをインストールします。
pip install django-filter
次に、Djangoの設定ファイル(settings.py)にdjango-filterを追加します。
INSTALLED_APPS = [
...
'django_filters',
]
これでdjango-filterがDjangoアプリケーションに導入されました。
使い方
django-filterを使用してモデルのデータをフィルタリングするには、filters.pyファイルを作成し、FilterSetを定義する必要があります。
from django.contrib.auth.models import User
import django_filters
class UserFilter(django_filters.FilterSet):
class Meta:
model = User
fields = ['username', 'email']
次に、ビューでFilterSetを使用してクエリセットをフィルタリングします。
from django.shortcuts import render
from .models import User
from .filters import UserFilter
def user_list(request):
user_list = User.objects.all()
user_filter = UserFilter(request.GET, queryset=user_list)
return render(request, 'user_list.html', {'filter': user_filter})
最後に、テンプレートファイルにフィルターフォームを表示します。
<form method="get">
{{ filter.form.as_p }}
<button type="submit">Filter</button>
</form>
これでdjango-filterを使用してデータをフィルタリングする準備が整いました。
以上が【Django】django-filterの導入・使い方についての説明でした。
めちゃためになります!引き続きよろしくお願いします!