Web apps¶
Resources¶
TODO
DataTables¶
DataTables are implemented as python classes, providing configuration and server-side processing for jquery datatables.
- class clld.web.datatables.base.DataTable(req, model, eid=None, **kw)[source]¶
DataTables are used to manage (sort, filter, display) lists of instances of one model class.
- base_query(query)[source]¶
Custom DataTables can overwrite this method to add joins, or apply filters.
Returns: sqlalchemy.orm.query.Query instance.
- col_defs()[source]¶
Must be implemented by derived classes.
Returns: list of instances of clld.web.datatables.base.Col.
- class clld.web.datatables.base.Col(dt, name, get_object=None, model_col=None, format=None, **kw)[source]¶
DataTables are basically a list of column specifications.
A column in a DataTable typically corresponds to a column of an sqlalchemy model. This column can either be supplied directly via a model_col keyword argument, or we try to look it up as attribute with name “name” on self.dt.model.
- format(item)[source]¶
called when converting the matching result items of a datatable’s search query to json.
Adapters¶
- class clld.web.adapters.base.Renderable(obj)[source]¶
Virtual base class for adapters
Adapters can provide custom behaviour either by specifying a template to use for rendering, or by overwriting the render method.
>>> r = Renderable(None) >>> assert r.label == 'Renderable'
Linked Data¶
TODO