A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://django-filter.readthedocs.io/en/main/ref/widgets.html below:

Widget Reference - django-filter 25.1 documentation

Toggle table of contents sidebar

Widget Reference

This is a reference document with a list of the provided widgets and their arguments.

class LinkWidget

This widget renders each option as a link, instead of an actual <input>. It has one method that you can override for additional customizability. option_string() should return a string with 3 Python keyword argument placeholders:

  1. attrs: This is a string with all the attributes that will be on the final <a> tag.

  2. query_string: This is the query string for use in the href option on the <a> element.

  3. label: This is the text to be displayed to the user.

class BooleanWidget

This widget converts its input into Python’s True/False values. It will convert all case variations of True and False into the internal Python values. To use it, pass this into the widgets argument of the BooleanFilter:

active = BooleanFilter(widget=BooleanWidget())
class CSVWidget

This widget expects a comma separated value and converts it into a list of string values. It is expected that the field class handle a list of values as well as type conversion.

class RangeWidget

This widget is used with RangeFilter and its subclasses. It generates two form input elements which generally act as start/end values in a range. Under the hood, it is Django’s TextInput widget and accepts the same arguments and values. To use it, pass it to widget argument of a RangeFilter:

date_range = DateFromToRangeFilter(widget=RangeWidget(attrs={'placeholder': 'YYYY/MM/DD'}))
class SuffixedMultiWidget

Extends Django’s builtin MultiWidget to append custom suffixes instead of indices. For example, take a range widget that accepts minimum and maximum bounds. By default, the resulting query params would look like the following:

GET /products?price_0=10&price_1=25 HTTP/1.1

By using SuffixedMultiWidget instead, you can provide human-friendly suffixes.

class RangeWidget(SuffixedMultiWidget):
    suffixes = ['min', 'max']

The query names are now a little more ergonomic.

GET /products?price_min=10&price_max=25 HTTP/1.1

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4