This library is aimed to simplify creation of user sorted lists.
Project description
About
----
This library is aimed to simplify creation of user sorted lists.
Inspired by https://gist.github.com/piquadrat/3833430
Installation
----
1. Install with pip or setup.py
2. Add ordered_listview into `INSTALLED_APPS`. ::
INSTALLED_APPS += ['ordered__listview']
3. Add template tags lib into builtins. ::
add_to_builtins('ordered_listview.templatetags.ordered_listview') // Or load with {% load ordered_listview %}
4. Inherit your view from `OrderedListView`. And setup your ordering fields. ::
from ordered_listview import OrderedListView
class UserListView(OrderedListView):
allowed_order_by = [
('username', _('Login')),
('userfile__file__size', _('Size')),
('date_joined', _('Sing up date'))
]
default_order_by = 'created'
5. Add a tag into you your template. ::
{% include "ordered_listview/fields.html" %}
Customization
----
1. To change get attribute name, just set `OrderedListView.order_by` attribute ::
class UserListView(OrderedListView):
order_by = "order_by"
2. If you need to provide your own template create inside your `templates`
`ordered_listview` directory with `fields.html` and `field.html` in.
fields.html - list of sortable fields
field.html - order field and state template
3. If you want to ignore null values during sort, add fields to null_ignore_fields.
class UserListView(OrderedListView):
null_ignore_fields = ['quantity']
class UserListView(OrderedListView):
null_ignore_fields = '*' # For all fields
----
This library is aimed to simplify creation of user sorted lists.
Inspired by https://gist.github.com/piquadrat/3833430
Installation
----
1. Install with pip or setup.py
2. Add ordered_listview into `INSTALLED_APPS`. ::
INSTALLED_APPS += ['ordered__listview']
3. Add template tags lib into builtins. ::
add_to_builtins('ordered_listview.templatetags.ordered_listview') // Or load with {% load ordered_listview %}
4. Inherit your view from `OrderedListView`. And setup your ordering fields. ::
from ordered_listview import OrderedListView
class UserListView(OrderedListView):
allowed_order_by = [
('username', _('Login')),
('userfile__file__size', _('Size')),
('date_joined', _('Sing up date'))
]
default_order_by = 'created'
5. Add a tag into you your template. ::
{% include "ordered_listview/fields.html" %}
Customization
----
1. To change get attribute name, just set `OrderedListView.order_by` attribute ::
class UserListView(OrderedListView):
order_by = "order_by"
2. If you need to provide your own template create inside your `templates`
`ordered_listview` directory with `fields.html` and `field.html` in.
fields.html - list of sortable fields
field.html - order field and state template
3. If you want to ignore null values during sort, add fields to null_ignore_fields.
class UserListView(OrderedListView):
null_ignore_fields = ['quantity']
class UserListView(OrderedListView):
null_ignore_fields = '*' # For all fields
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django-ordered-listview-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ede323c9a2a045c123ea30520effa00340aee7b27f60189d950ad894aa262b4 |
|
MD5 | eec00bbfae246b67d120f2dab32b29ce |
|
BLAKE2b-256 | c347374dabe0f36a1f0cee05a153ba440dd0903d952d0973d98b528712cad59d |