{ "info": { "author": "Mauro Bianchi", "author_email": "bianchimro@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Programming Language :: Python" ], "description": "django-search-views\n===================\n\n|Build Status|\n\nThis package provides a Django class-based view used for showing a list\nof objects with a search form. Full documentation at\n(http://inmagik.github.io/django-search-views/).\n\nFeatures:\n\n- allows searching multiple fields\n- supports pagination\n- set filtering operators for each field\n- set fixed filters\n- use lists of values for filters\n\nInstallation\n------------\n\nFrom pypi:\n\n::\n\n pip install django-search-views\n\nFrom source:\n\n::\n\n python setup.py install\n\nUsage\n-----\n\n**Important**: until v.1.0 API might be subject to changes. Please take\na look at the `changelog <#changelog>`__ and don't hesitate to mail us\nor open an issue if you have troubles migration from an older version.\nSorry about this!.\n\nSearchListView\n~~~~~~~~~~~~~~\n\ntbw\n\n\u00a0Example\n--------\n\nThe following code sets up model, form and view for displaying an\n\"Actors List\".\n\nmodels.py:\n\n::\n\n class Actor(models.Model):\n name = models.CharField(max_length=32)\n surname = models.CharField(max_length=32)\n age = models.IntegerField()\n\nforms.py\n\n::\n\n from .models import Actor\n from django import forms\n class ActorSearchForm(forms.Form):\n search_text = forms.CharField(\n required = False,\n label='Search name or surname!',\n widget=forms.TextInput(attrs={'placeholder': 'search here!'})\n )\n\n search_age_exact = forms.IntegerField(\n required = False,\n label='Search age (exact match)!'\n )\n\n search_age_min = forms.IntegerField(\n required = False,\n label='Min age'\n )\n\n\n search_age_max = forms.IntegerField(\n required = False,\n label='Max age'\n )\n\nviews.py\n\n::\n\n from .model import Actor\n from .forms import ActorSearchForm\n from search_views.search import SearchListView\n from search_views.filters import BaseFilter\n\n class ActorsFilter(BaseFilter):\n search_fields = {\n 'search_text' : ['name', 'surname'],\n 'search_age_exact' : { 'operator' : '__exact', 'fields' : ['age'] },\n 'search_age_min' : { 'operator' : '__gte', 'fields' : ['age'] },\n 'search_age_max' : { 'operator' : '__lte', 'fields' : ['age'] }, \n\n }\n\n class ActorsSearchList(SearchListView):\n model = Actor\n paginate_by = 30\n template_name = \"actors/actors_list.html\"\n form_class = ActorSearchForm\n filter_class = ActorsFilter\n\nview template \"actors/actors\\_list.html\":\n\n::\n\n {% extends \"base.html\" %}\n\n\n {% block content%}\n\n
| Name | \nSurname | \nAge | \n
|---|---|---|
| {{object.name}} | \n{{object.surname}} | \n{{object.age}} | \n