projects
/
django-tables2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
renamed to django-tables2
[django-tables2.git]
/
docs
/
index.rst
diff --git
a/docs/index.rst
b/docs/index.rst
index ca434285be84bf97204fc4d2c4ad46e16bf4b27f..7d5d33ace068b424d0608fef40564c4ac3028d7a 100644
(file)
--- a/
docs/index.rst
+++ b/
docs/index.rst
@@
-1,21
+1,21
@@
.. default-domain:: py
.. default-domain:: py
-===============================================
-django-tables - An app for creating HTML tables
-===============================================
+===============================================
=
+django-tables
2
- An app for creating HTML tables
+===============================================
=
-django-tables simplifies the task of turning sets of datainto HTML tables. It
+django-tables
2
simplifies the task of turning sets of datainto HTML tables. It
has native support for pagination and sorting. It does for HTML tables what
``django.forms`` does for HTML forms.
Quick start guide
=================
has native support for pagination and sorting. It does for HTML tables what
``django.forms`` does for HTML forms.
Quick start guide
=================
-1. Download and install from https://github.com/bradleyayers/django-tables.
+1. Download and install from https://github.com/bradleyayers/django-tables
2
.
Grab a ``.tar.gz`` of the latest tag, and run ``pip install <tar.gz>``.
Grab a ``.tar.gz`` of the latest tag, and run ``pip install <tar.gz>``.
-2. Hook the app into your Django project by adding ``'django_tables'`` to your
+2. Hook the app into your Django project by adding ``'django_tables
2
'`` to your
``INSTALLED_APPS`` setting.
``INSTALLED_APPS`` setting.
-3. Write a subclass of :class:`~django_tables.tables.Table` that describes the
+3. Write a subclass of :class:`~django_tables
2
.tables.Table` that describes the
structure of your table.
4. Create an instance of your table in a :term:`view`, provide it with
:term:`table data`, and pass it to a :term:`template` for display.
structure of your table.
4. Create an instance of your table in a :term:`view`, provide it with
:term:`table data`, and pass it to a :term:`template` for display.
@@
-39,13
+39,13
@@
turn it into an HTML table. This is the data we'll be using:
]
]
-The first step is to subclass :class:`~django_tables.tables.Table` and describe
+The first step is to subclass :class:`~django_tables
2
.tables.Table` and describe
the table structure. This is done by creating a column for each attribute in
the :term:`table data`.
.. code-block:: python
the table structure. This is done by creating a column for each attribute in
the :term:`table data`.
.. code-block:: python
- import django_tables as tables
+ import django_tables
2
as tables
class CountryTable(tables.Table):
name = tables.Column()
class CountryTable(tables.Table):
name = tables.Column()
@@
-72,7
+72,7
@@
write a view that would look something like:
context_instance=RequestContext(request))
In your template, the easiest way to :term:`render` the table is via the
context_instance=RequestContext(request))
In your template, the easiest way to :term:`render` the table is via the
-:meth:`~django_tables.tables.Table.as_html` method:
+:meth:`~django_tables
2
.tables.Table.as_html` method:
.. code-block:: django
.. code-block:: django
@@
-97,7
+97,7
@@
table via the :ref:`template tag <template-tags.render_table>` rather than
.. code-block:: django
.. code-block:: django
- {% load django_tables %}
+ {% load django_tables
2
%}
{% render_table table %}
.. note::
{% render_table table %}
.. note::
@@
-128,7
+128,7
@@
adding a ``class Meta:`` to the table class and defining a ``attrs`` variable.
.. code-block:: python
.. code-block:: python
- import django_tables as tables
+ import django_tables
2
as tables
class CountryTable(tables.Table):
name = tables.Column()
class CountryTable(tables.Table):
name = tables.Column()
@@
-143,7
+143,7
@@
The last thing to do is to include the stylesheet in the template.
.. code-block:: html
.. code-block:: html
- <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}django_tables/themes/paleblue/css/screen.css" />
+ <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}django_tables
2
/themes/paleblue/css/screen.css" />
Save your template and reload the page in your browser.
Save your template and reload the page in your browser.
@@
-164,7
+164,7
@@
table with data, pass it in as the first argument when instantiating a table.
Each item in the :term:`table data` is called a :term:`record` and is used to
populate a single row in the table. By default, the table uses column names
as :term:`accessors <accessor>` to retrieve individual cell values. This can
Each item in the :term:`table data` is called a :term:`record` and is used to
populate a single row in the table. By default, the table uses column names
as :term:`accessors <accessor>` to retrieve individual cell values. This can
-be changed via the :attr:`~django_tables.columns.Column.accessor` argument.
+be changed via the :attr:`~django_tables
2
.columns.Column.accessor` argument.
Any iterable can be used as table data, and there's builtin support for
:class:`QuerySet` objects (to ensure they're handled effeciently).
Any iterable can be used as table data, and there's builtin support for
:class:`QuerySet` objects (to ensure they're handled effeciently).
@@
-285,7
+285,7
@@
Column headers
==============
The header cell for each column comes from the column's
==============
The header cell for each column comes from the column's
-:meth:`~django_tables.columns.BoundColumn.header` method. By default this
+:meth:`~django_tables
2
.columns.BoundColumn.header` method. By default this
method returns the column's ``verbose_name``, which is either explicitly
specified, or generated automatically based on the column name.
method returns the column's ``verbose_name``, which is either explicitly
specified, or generated automatically based on the column name.
@@
-354,12
+354,12
@@
CSS
---
In order to use CSS to style a table, you'll probably want to add a
---
In order to use CSS to style a table, you'll probably want to add a
-``class`` or ``id`` attribute to the ``<table>`` element. ``django-tables`` has
+``class`` or ``id`` attribute to the ``<table>`` element. ``django-tables
2
`` has
a hook that allows abitrary attributes to be added to the ``<table>`` tag.
.. code-block:: python
a hook that allows abitrary attributes to be added to the ``<table>`` tag.
.. code-block:: python
- >>> import django_tables as tables
+ >>> import django_tables
2
as tables
>>> class SimpleTable(tables.Table):
... id = tables.Column()
... age = tables.Column()
>>> class SimpleTable(tables.Table):
... id = tables.Column()
... age = tables.Column()
@@
-404,7
+404,7
@@
arguments you're interested in, and the function will recieve them
.. code-block:: python
.. code-block:: python
- >>> import django_tables as tables
+ >>> import django_tables
2
as tables
>>> class SimpleTable(tables.Table):
... row_number = tables.Column()
... id = tables.Column()
>>> class SimpleTable(tables.Table):
... row_number = tables.Column()
... id = tables.Column()
@@
-440,7
+440,7
@@
To change the way cells are rendered, simply override the
.. code-block:: python
.. code-block:: python
- >>> import django_tables as tables
+ >>> import django_tables
2
as tables
>>>
>>> class AngryColumn(tables.Column):
... def render(self, value):
>>>
>>> class AngryColumn(tables.Column):
... def render(self, value):
@@
-500,7
+500,7
@@
ignore the built-in generation tools, and instead pass an instance of your
.. code-block:: django
.. code-block:: django
- {% load django_tables %}
+ {% load django_tables
2
%}
<table>
<thead>
<tr>
<table>
<thead>
<tr>
@@
-535,14
+535,14
@@
Template tags
render_table
------------
render_table
------------
-Renders a :class:`~django_tables.tables.Table` object to HTML and includes as
+Renders a :class:`~django_tables
2
.tables.Table` object to HTML and includes as
many features as possible.
Sample usage:
.. code-block:: django
many features as possible.
Sample usage:
.. code-block:: django
- {% load django_tables %}
+ {% load django_tables
2
%}
{% render_table table %}
This tag temporarily modifies the :class:`.Table` object while it is being
{% render_table table %}
This tag temporarily modifies the :class:`.Table` object while it is being
@@
-625,7
+625,7
@@
Class Based Generic Mixins
==========================
Django 1.3 introduced `class based views`__ as a mechanism to reduce the
==========================
Django 1.3 introduced `class based views`__ as a mechanism to reduce the
-repetition in view code. django-tables comes with a single class based view
+repetition in view code. django-tables
2
comes with a single class based view
mixin: ``SingleTableMixin``. It makes it trivial to incorporate a table into a
view/template, however it requires a few variables to be defined on the view:
mixin: ``SingleTableMixin``. It makes it trivial to incorporate a table into a
view/template, however it requires a few variables to be defined on the view:
@@
-641,7
+641,7
@@
For example:
.. code-block:: python
.. code-block:: python
- from django_tables.views import SingleTableMixin
+ from django_tables
2
.views import SingleTableMixin
from django.generic.views.list import ListView
from django.generic.views.list import ListView
@@
-664,7
+664,7
@@
The template could then be as simple as:
.. code-block:: django
.. code-block:: django
- {% load django_tables %}
+ {% load django_tables
2
%}
{% render_table table %}
Such little code is possible due to the example above taking advantage of
{% render_table table %}
Such little code is possible due to the example above taking advantage of
@@
-699,7
+699,7
@@
Example::
['name']
To have a mixin contribute a column, it needs to be a subclass of
['name']
To have a mixin contribute a column, it needs to be a subclass of
-:class:`~django_tables.tables.Table`. With this in mind the previous example
+:class:`~django_tables
2
.tables.Table`. With this in mind the previous example
*should* have been written as follows::
>>> class UsefulMixin(tables.Table):
*should* have been written as follows::
>>> class UsefulMixin(tables.Table):
@@
-735,7
+735,7
@@
Often a table will become quite complex after time, e.g. `table.render_foo`_,
changing ``verbose_name`` on columns, or adding an extra
:class:`~.CheckBoxColumn`.
changing ``verbose_name`` on columns, or adding an extra
:class:`~.CheckBoxColumn`.
-``django-tables`` offers the :attr:`.Table.Meta.model` option to ease the pain.
+``django-tables
2
`` offers the :attr:`.Table.Meta.model` option to ease the pain.
The ``model`` option causes the table automatically generate columns for the
fields in the model. This means that the above table could be re-written as
follows::
The ``model`` option causes the table automatically generate columns for the
fields in the model. This means that the above table could be re-written as
follows::
@@
-750,7
+750,7
@@
follows::
If you want to customise one of the columns, simply define it the way you would
normally::
If you want to customise one of the columns, simply define it the way you would
normally::
- >>> from django_tables import A
+ >>> from django_tables
2
import A
>>> class PersonTable(tables.Table):
... user = tables.LinkColumn("admin:auth_user_change", args=[A("user.pk")])
...
>>> class PersonTable(tables.Table):
... user = tables.LinkColumn("admin:auth_user_change", args=[A("user.pk")])
...
@@
-794,14
+794,14
@@
API Reference
:class:`Accessor` Objects:
--------------------------
:class:`Accessor` Objects:
--------------------------
-.. autoclass:: django_tables.utils.Accessor
+.. autoclass:: django_tables
2
.utils.Accessor
:members:
:class:`Table` Objects:
-----------------------
:members:
:class:`Table` Objects:
-----------------------
-.. autoclass:: django_tables.tables.Table
+.. autoclass:: django_tables
2
.tables.Table
:class:`Table.Meta` Objects:
:class:`Table.Meta` Objects:
@@
-816,7
+816,7
@@
API Reference
Allows custom HTML attributes to be specified which will be added to
the ``<table>`` tag of any table rendered via
Allows custom HTML attributes to be specified which will be added to
the ``<table>`` tag of any table rendered via
- :meth:`~django_tables.tables.Table.as_html` or the
+ :meth:`~django_tables
2
.tables.Table.as_html` or the
:ref:`template-tags.render_table` template tag.
:type: ``dict``
:ref:`template-tags.render_table` template tag.
:type: ``dict``
@@
-867,14
+867,14
@@
API Reference
... last_name = tables.Column()
...
>>> Person.base_columns
... last_name = tables.Column()
...
>>> Person.base_columns
- {'first_name': <django_tables.columns.Column object at 0x10046df10>,
- 'last_name': <django_tables.columns.Column object at 0x10046d8d0>}
+ {'first_name': <django_tables
2
.columns.Column object at 0x10046df10>,
+ 'last_name': <django_tables
2
.columns.Column object at 0x10046d8d0>}
>>> class ForgetfulPerson(Person):
... class Meta:
... exclude = ("last_name", )
...
>>> ForgetfulPerson.base_columns
>>> class ForgetfulPerson(Person):
... class Meta:
... exclude = ("last_name", )
...
>>> ForgetfulPerson.base_columns
- {'first_name': <django_tables.columns.Column object at 0x10046df10>}
+ {'first_name': <django_tables
2
.columns.Column object at 0x10046df10>}
.. note::
.. note::
@@
-967,41
+967,41
@@
API Reference
:class:`TableData` Objects:
------------------------------
:class:`TableData` Objects:
------------------------------
-.. autoclass:: django_tables.tables.TableData
+.. autoclass:: django_tables
2
.tables.TableData
:members: __init__, order_by, __getitem__, __len__
:class:`Column` Objects:
------------------------
:members: __init__, order_by, __getitem__, __len__
:class:`Column` Objects:
------------------------
-.. autoclass:: django_tables.columns.Column
+.. autoclass:: django_tables
2
.columns.Column
:class:`CheckBoxColumn` Objects:
--------------------------------
:class:`CheckBoxColumn` Objects:
--------------------------------
-.. autoclass:: django_tables.columns.CheckBoxColumn
+.. autoclass:: django_tables
2
.columns.CheckBoxColumn
:members:
:class:`LinkColumn` Objects:
----------------------------
:members:
:class:`LinkColumn` Objects:
----------------------------
-.. autoclass:: django_tables.columns.LinkColumn
+.. autoclass:: django_tables
2
.columns.LinkColumn
:members:
:class:`TemplateColumn` Objects:
--------------------------------
:members:
:class:`TemplateColumn` Objects:
--------------------------------
-.. autoclass:: django_tables.columns.TemplateColumn
+.. autoclass:: django_tables
2
.columns.TemplateColumn
:members:
:class:`BoundColumns` Objects
-----------------------------
:members:
:class:`BoundColumns` Objects
-----------------------------
-.. autoclass:: django_tables.columns.BoundColumns
+.. autoclass:: django_tables
2
.columns.BoundColumns
:members: all, items, sortable, visible, __iter__,
__contains__, __len__, __getitem__
:members: all, items, sortable, visible, __iter__,
__contains__, __len__, __getitem__
@@
-1009,42
+1009,42
@@
API Reference
:class:`BoundColumn` Objects
----------------------------
:class:`BoundColumn` Objects
----------------------------
-.. autoclass:: django_tables.columns.BoundColumn
+.. autoclass:: django_tables
2
.columns.BoundColumn
:members:
:class:`BoundRows` Objects
--------------------------
:members:
:class:`BoundRows` Objects
--------------------------
-.. autoclass:: django_tables.rows.BoundRows
+.. autoclass:: django_tables
2
.rows.BoundRows
:members: __iter__, __len__, count
:class:`BoundRow` Objects
-------------------------
:members: __iter__, __len__, count
:class:`BoundRow` Objects
-------------------------
-.. autoclass:: django_tables.rows.BoundRow
+.. autoclass:: django_tables
2
.rows.BoundRow
:members: __getitem__, __contains__, __iter__, record, table
:class:`AttributeDict` Objects
------------------------------
:members: __getitem__, __contains__, __iter__, record, table
:class:`AttributeDict` Objects
------------------------------
-.. autoclass:: django_tables.utils.AttributeDict
+.. autoclass:: django_tables
2
.utils.AttributeDict
:members:
:class:`OrderBy` Objects
------------------------
:members:
:class:`OrderBy` Objects
------------------------
-.. autoclass:: django_tables.utils.OrderBy
+.. autoclass:: django_tables
2
.utils.OrderBy
:members:
:class:`OrderByTuple` Objects
-----------------------------
:members:
:class:`OrderByTuple` Objects
-----------------------------
-.. autoclass:: django_tables.utils.OrderByTuple
+.. autoclass:: django_tables
2
.utils.OrderByTuple
:members: __unicode__, __contains__, __getitem__, cmp
:members: __unicode__, __contains__, __getitem__, cmp
@@
-1054,10
+1054,10
@@
Glossary
.. glossary::
accessor
.. glossary::
accessor
- Refers to an :class:`~django_tables.utils.Accessor` object
+ Refers to an :class:`~django_tables
2
.utils.Accessor` object
bare orderby
bare orderby
- The non-prefixed form of an :class:`~django_tables.utils.OrderBy`
+ The non-prefixed form of an :class:`~django_tables
2
.utils.OrderBy`
object. Typically the bare form is just the ascending form.
Example: ``age`` is the bare form of ``-age``
object. Typically the bare form is just the ascending form.
Example: ``age`` is the bare form of ``-age``
@@
-1082,7
+1082,7
@@
Glossary
A single Python object used as the data for a single row.
render
A single Python object used as the data for a single row.
render
- The act of serialising a :class:`~django_tables.tables.Table` into
+ The act of serialising a :class:`~django_tables
2
.tables.Table` into
HTML.
template
HTML.
template
@@
-1090,4
+1090,4
@@
Glossary
table data
An interable of :term:`records <record>` that
table data
An interable of :term:`records <record>` that
- :class:`~django_tables.tables.Table` uses to populate its rows.
+ :class:`~django_tables
2
.tables.Table` uses to populate its rows.