A tile is a piece of web application, i.e. a form, a navigation, etc.
Splitting your application in such small and logic application parts makes it easy to re-use this application, simplifies application ajaxification and the use of same application parts in different manners.
Imports.:
>>> from bda.bfg.tile import Tile >>> from bda.bfg.tile import TileRenderer >>> from bda.bfg.tile import registerTile >>> from bda.bfg.tile import tile
We need some dummies as model and request.:
>>> class Model(object): pass
>>> model = Model()
>>> from repoze.bfg.request import DEFAULT_REQUEST_FACTORIES
>>> request = DEFAULT_REQUEST_FACTORIES[None]['factory'](environ={})
The pure Tile itself. Normally you do not create this directly, this is done due registration, see below.:
>>> mytile = Tile('testdata/tile1.pt', None)
>>> mytile(model, request)
u'<span>Tile One</span>'
Register a tile using the prior template testtemplate. When no object is given, the default tile is instanciated as above.:
>>> registerTile('tileone', 'testdata/tile1.pt')
Render the already registered tile.:
>>> TileRenderer(model, request)('tileone')
u'<span>Tile One</span>'
Now the decorator - level=1 is needed for the doctest only to reduce the module level.:
>>> @tile('tiletwo', 'testdata/tile2.pt', level=1)
... class Tile2(Tile):
... data = u'custom'
>>> TileRenderer(model, request)('tiletwo')
u'<span>Tile Two: <b><span>Tile One</span></b></span>'
You can define an attribute which is responsible to render the tile instead of defining a template. By default render is taken. With the keyword argument attribute you can point to a different attribute.:
>>> @tile('attrtile') ... class Tile2(Tile): ... def render(self): ... return u'<h1>Rendered via attribute call</h1>' >>> TileRenderer(model, request)('attrtile') u'<h1>Rendered via attribute call</h1>'>>> @tile('attrtile', attribute='foobar') ... class Tile2(Tile): ... def foobar(self): ... return u'<h1>Rendered via attribute foobar call</h1>' >>> TileRenderer(model, request)('attrtile') u'<h1>Rendered via attribute foobar call</h1>'
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file bda.bfg.tile-1.0.tar.gz.
File metadata
- Download URL: bda.bfg.tile-1.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18ab1b358b7a40bda8820f0f0ae0e8d8d1bdaa92a63ebffc5f8f1010470e3ed8
|
|
| MD5 |
5781d18ce262042b5cf81f5f010c7f98
|
|
| BLAKE2b-256 |
a9905fbb2f0d93a294201f80ba127450e3406749c22623df001f4bbbbcf0e0b8
|