Skip to main content

Chameleon template integration for Morepath

Project description

more.chameleon: Chameleon template integration for Morepath

more.chameleon is an extension for Morepath that adds Zope Page Template (ZPT) support for the .pt extension, using the Chameleon template engine.

For details on the ZPT template language see the Chameleon language reference.

Example usage:

from more.chameleon import ChameleonApp

class App(ChameleonApp):
    pass

@App.path(path='persons/{name}')
class Person(object):
     def __init__(self, name):
         self.name = name

@App.template_directory()
def get_template_directory():
    return 'templates'

@App.html(model=Person, template='person.pt')
def person_default(self, request):
    return {'name': self.name}

and then in person.pt (in the templates subdirectory):

<html>
<body>
<p>Hello ${name}!</p>
</body>
</html>

To control Chameleon rendering you can define a chameleon setting section in your app. For instance, here is how you turn on the auto_reload functionality:

@App.setting_section(section='chameleon')
def get_setting_section():
    return {'auto_reload': True}

For details on Chameleon configuration options, consult the configuration keyword arguments in the Chameleon API reference.

CHANGES

0.1 (2015-04-09)

  • Initial public release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

more.chameleon-0.1.tar.gz (6.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page