# django-tables2 - An app for creating HTML tables
[![Latest PyPI version](https://badge.fury.io/py/django-tables2.svg)](https://pypi.python.org/pypi/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.python.org/pypi/django-tables2)
- Tested against currently supported versions of Django
[and supported python 3 versions Django supports](https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django).
- [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:
```python
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/jieter/django-tables2/",
"name": "django-tables2",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Bradley Ayers",
"author_email": "bradley.ayers@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/54/db/3f2e97f088bb7ab8668ba01373ab42c281aaed20de854808d70e567e00a8/django-tables2-2.7.0.tar.gz",
"platform": null,
"description": "# django-tables2 - An app for creating HTML tables\n\n[![Latest PyPI version](https://badge.fury.io/py/django-tables2.svg)](https://pypi.python.org/pypi/django-tables2)\n[![Any color you like](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\ndjango-tables2 simplifies the task of turning sets of data into HTML tables. It\nhas native support for pagination and sorting. It does for HTML tables what\n`django.forms` does for HTML forms. e.g.\n\n- Available on pypi as [django-tables2](https://pypi.python.org/pypi/django-tables2)\n- Tested against currently supported versions of Django\n [and supported python 3 versions Django supports](https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django).\n- [Documentation on readthedocs.org](https://django-tables2.readthedocs.io/en/latest/)\n- [Bug tracker](http://github.com/jieter/django-tables2/issues)\n\nFeatures:\n\n- Any iterable can be a data-source, but special support for Django `QuerySets` is included.\n- The builtin UI does not rely on JavaScript.\n- Support for automatic table generation based on a Django model.\n- Supports custom column functionality via subclassing.\n- Pagination.\n- Column based table sorting.\n- Template tag to enable trivial rendering to HTML.\n- Generic view mixin.\n\n![An example table rendered using django-tables2](https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/example.png)\n\n![An example table rendered using django-tables2 and bootstrap theme](https://cdn.rawgit.com/jieter/django-tables2/master/docs/img/bootstrap.png)\n\n![An example table rendered using django-tables2 and semantic-ui theme](\nhttps://cdn.rawgit.com/jieter/django-tables2/master/docs/img/semantic.png)\n\n## Example\n\nStart by adding `django_tables2` to your `INSTALLED_APPS` setting like this:\n\n```python\nINSTALLED_APPS = (\n ...,\n \"django_tables2\",\n)\n```\n\nCreating a table for a model `Simple` is as simple as:\n\n```python\nimport django_tables2 as tables\n\nclass SimpleTable(tables.Table):\n class Meta:\n model = Simple\n```\nThis would then be used in a view:\n\n```python\nclass TableView(tables.SingleTableView):\n table_class = SimpleTable\n queryset = Simple.objects.all()\n template_name = \"simple_list.html\"\n```\nAnd finally in the template:\n\n```\n{% load django_tables2 %}\n{% render_table table %}\n```\n\nThis example shows one of the simplest cases, but django-tables2 can do a lot more!\nCheck out the [documentation](https://django-tables2.readthedocs.io/en/latest/) for more details.\n",
"bugtrack_url": null,
"license": "Simplified BSD",
"summary": "Table/data-grid framework for Django",
"version": "2.7.0",
"project_urls": {
"Homepage": "https://github.com/jieter/django-tables2/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "54966c722b5f148212351c38b56dc97d76b3c3efe16211fbc09542155b576a8d",
"md5": "d7fdc9c716b773d6c6209881438edd39",
"sha256": "99e06d966ca8ac69fd74092eb45c79a280dd5ca0ccb81395d96261f62128e1af"
},
"downloads": -1,
"filename": "django_tables2-2.7.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d7fdc9c716b773d6c6209881438edd39",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 95226,
"upload_time": "2023-12-05T07:54:57",
"upload_time_iso_8601": "2023-12-05T07:54:57.255524Z",
"url": "https://files.pythonhosted.org/packages/54/96/6c722b5f148212351c38b56dc97d76b3c3efe16211fbc09542155b576a8d/django_tables2-2.7.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "54db3f2e97f088bb7ab8668ba01373ab42c281aaed20de854808d70e567e00a8",
"md5": "907dea0592a9f37a3e954e9bd8620450",
"sha256": "4113fcc575eb438a12e83a4d4ea01452e4800d970e8bdd0e4122ac171af1900d"
},
"downloads": -1,
"filename": "django-tables2-2.7.0.tar.gz",
"has_sig": false,
"md5_digest": "907dea0592a9f37a3e954e9bd8620450",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 79583,
"upload_time": "2023-12-05T07:55:00",
"upload_time_iso_8601": "2023-12-05T07:55:00.163470Z",
"url": "https://files.pythonhosted.org/packages/54/db/3f2e97f088bb7ab8668ba01373ab42c281aaed20de854808d70e567e00a8/django-tables2-2.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-05 07:55:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jieter",
"github_project": "django-tables2",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "django-tables2"
}