Table/data-grid framework for Django
Project description
# django-tables2 - An app for creating HTML tables
[![Latest PyPI version](https://badge.fury.io/py/django-tables2.svg)](https://pypi-hypernode.com/pypi/django-tables2)
[![Travis CI](https://travis-ci.org/jieter/django-tables2.svg?branch=master)](https://travis-ci.org/jieter/django-tables2)
[![Any color you like](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
django-tables2 simplifies the task of turning sets of data into HTML tables. It
has native support for pagination and sorting. It does for HTML tables what
`django.forms` does for HTML forms. e.g.
- Available on pypi as [django-tables2](https://pypi-hypernode.com/pypi/django-tables2)
- Tested against currently supported versions of Django
[and the python versions Django supports](https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django)
(see [Travis CI](https://travis-ci.org/jieter/django-tables2)
- [Documentation on readthedocs.org](https://django-tables2.readthedocs.io/en/latest/)
- [Bug tracker](http://github.com/jieter/django-tables2/issues)
Features:
- Any iterable can be a data-source, but special support for Django `QuerySets` is included.
- The builtin UI does not rely on JavaScript.
- Support for automatic table generation based on a Django model.
- Supports custom column functionality via subclassing.
- Pagination.
- Column based table sorting.
- Template tag to enable trivial rendering to HTML.
- Generic view mixin.
![An example table rendered using django-tables2](https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/example.png)
![An example table rendered using django-tables2 and bootstrap theme](https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/bootstrap.png)
![An example table rendered using django-tables2 and semantic-ui theme](
https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/semantic.png)
## Example
Start by adding `django_tables2` to your `INSTALLED_APPS` setting like this:
```python
INSTALLED_APPS = (
...,
"django_tables2",
)
```
Creating a table for a model `Simple` is as simple as:
```
import django_tables2 as tables
class SimpleTable(tables.Table):
class Meta:
model = Simple
```
This would then be used in a view:
```python
class TableView(tables.SingleTableView):
table_class = SimpleTable
queryset = Simple.objects.all()
template_name = "simple_list.html"
```
And finally in the template:
```
{% load django_tables2 %}
{% render_table table %}
```
This example shows one of the simplest cases, but django-tables2 can do a lot more!
Check out the [documentation](https://django-tables2.readthedocs.io/en/latest/) for more details.
[![Latest PyPI version](https://badge.fury.io/py/django-tables2.svg)](https://pypi-hypernode.com/pypi/django-tables2)
[![Travis CI](https://travis-ci.org/jieter/django-tables2.svg?branch=master)](https://travis-ci.org/jieter/django-tables2)
[![Any color you like](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
django-tables2 simplifies the task of turning sets of data into HTML tables. It
has native support for pagination and sorting. It does for HTML tables what
`django.forms` does for HTML forms. e.g.
- Available on pypi as [django-tables2](https://pypi-hypernode.com/pypi/django-tables2)
- Tested against currently supported versions of Django
[and the python versions Django supports](https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django)
(see [Travis CI](https://travis-ci.org/jieter/django-tables2)
- [Documentation on readthedocs.org](https://django-tables2.readthedocs.io/en/latest/)
- [Bug tracker](http://github.com/jieter/django-tables2/issues)
Features:
- Any iterable can be a data-source, but special support for Django `QuerySets` is included.
- The builtin UI does not rely on JavaScript.
- Support for automatic table generation based on a Django model.
- Supports custom column functionality via subclassing.
- Pagination.
- Column based table sorting.
- Template tag to enable trivial rendering to HTML.
- Generic view mixin.
![An example table rendered using django-tables2](https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/example.png)
![An example table rendered using django-tables2 and bootstrap theme](https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/bootstrap.png)
![An example table rendered using django-tables2 and semantic-ui theme](
https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/semantic.png)
## Example
Start by adding `django_tables2` to your `INSTALLED_APPS` setting like this:
```python
INSTALLED_APPS = (
...,
"django_tables2",
)
```
Creating a table for a model `Simple` is as simple as:
```
import django_tables2 as tables
class SimpleTable(tables.Table):
class Meta:
model = Simple
```
This would then be used in a view:
```python
class TableView(tables.SingleTableView):
table_class = SimpleTable
queryset = Simple.objects.all()
template_name = "simple_list.html"
```
And finally in the template:
```
{% load django_tables2 %}
{% render_table table %}
```
This example shows one of the simplest cases, but django-tables2 can do a lot more!
Check out the [documentation](https://django-tables2.readthedocs.io/en/latest/) for more details.
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
django-tables2-2.0.0.tar.gz
(8.4 MB
view details)
File details
Details for the file django-tables2-2.0.0.tar.gz
.
File metadata
- Download URL: django-tables2-2.0.0.tar.gz
- Upload date:
- Size: 8.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e99d5691201a9ce9c29de5b1395ec569c1684464ce6cb825b8f9238f0443614 |
|
MD5 | 760741fca746e7ee09d9e9b12b018829 |
|
BLAKE2b-256 | 7978c317c341e3d070eb8d46132dffed54154625503989f4d1008e8f7490c89e |