Skip to main content

A Django app to conduct generic search on a django web application.

Project description

Django Generic Search is a Django app to conduct generic search on your site’s pages. Visitors on your site can search for any available pages on your side given they new or can guess accurately keywords or search queries related to thos pages.

The app uses the page title and meta name and meta description html tags to generate search results so be sure to include this tags in your html page templates.

The application is currently not optimized for sites that result in large amounts of data upon crawling.

For a better experience, this app can be used together with django-robots and the django sitemaps framework.

Quick start

Install the package using pip.

$ pip install django-generic-search

Add generic-search to your INSTALLED_APPS setting like this

INSTALLED_APPS = [
    ...
    'generic-search',
]

Include the generic-search URLconf in your project urls.py like this

path('search/', include('generic-search.urls')),

Create a html form and point its action attribute to the above url as below

<form method="GET" action="{% url 'search:general_search' %}">
    <input type="text" name="q" placeholder="Search...">
    <button type="submit" class="btn btn-outline-primary custom-inline-button">Go</button>
</form>

include settings below in project settings.py

ALLOWED_HOSTS = [
    'localhost',
]
SPYDER_START_URLS = {
    'gammaspider': ['https://localhost:8000/']
}

When in production, update the settings above appropriately to reflect your production environment.

Override the default template used to display the search index and search results page to reflect the theme of your site by creating a templates directory in your project root directory. In the created templates directory, create a directory with the name generic_search and place index.html in it. You can copy the template provided in the package to the path created above to get a full picture of the available blocks that can be overriden.

Start the development server and visit http://127.0.0.1:8000/

On a new terminal, run the commands below.

Run python manage.py crawlsite to generate data about available pages on your site. Run python manage.py cleancrawlresults to prepare the data for indexing. Run python manage.py indexsite to generate an index file for the data.

Visit http://127.0.0.1:8000/<url as apecified in your url conf>/?q=<search-query> to search.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-generic-search-2.1.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_generic_search-2.1.0-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file django-generic-search-2.1.0.tar.gz.

File metadata

  • Download URL: django-generic-search-2.1.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for django-generic-search-2.1.0.tar.gz
Algorithm Hash digest
SHA256 00fcecfea698de110e9e690e499777b3422d1371a06be3445c646194fbd0640e
MD5 8d2228c4b101be72f29cf8e9e0eecb1a
BLAKE2b-256 79da7ca708401ca57ce12926813ac3e0a75d9040ea74b0cc2a5166c3d3208557

See more details on using hashes here.

File details

Details for the file django_generic_search-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: django_generic_search-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for django_generic_search-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c475d08e71e373f85716951ba4b8c9256ba55541782a8f83dbf169277c4d2df
MD5 07daf7ebf77b2192dd2b4a32e8080c6e
BLAKE2b-256 2c43fcc64a8976fba3543b7fa7e5cf8ecc987a7e663426280ce162faeaade128

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page