Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A basic search application for Django.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 simplesearch
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.md
Octocat-spinner-32 setup.py
README.md

django-simplesearch

A reusable Django application for simple searching, based on Julien Phalip's original code.

How it Works

A string of search terms are passed to the get_query function, along with a list of the model fields to search. These terms are normalized by normalize_query, which splits the query string into individual keyword, keeping quoted words together and removing stop words. The get_query function then returns a Q object which may be used to search the given fields for the given term.

Installation

django-simplesearch is available on PyPI and can be installed with PIP.

pip install django-simplesearch

Alternatively, you may download the source and install it.

python setup.py install

Setup

Add simplesearch to your settings.INSTALLED_APPS.

Usage

django-simplesearch was created to search blog posts. To search a model Post in the fields title and body based on a search query submitted by a form to HTTP GET, you might do something like this:

if 'q' in request.GET:
    query_string = request.GET['q']
    entry_query = get_query(query_string, ['title', 'body'])
    results = Post.objects.published().filter(entry_query).distinct()

In this case, the Post objects that matched the search query is stored within results.

Something went wrong with that request. Please try again.