Skip to main content

z3c.template

Latest release Supported Python versions https://github.com/zopefoundation/z3c.template/actions/workflows/tests.yml/badge.svg https://coveralls.io/repos/github/zopefoundation/z3c.template/badge.svg?branch=master

This package allows you to register templates independently from view code.

In Zope 3, when registering a browser:page both presentation and computation are registered together. Unfortunately the registration tangles presentation and computation so tightly that it is not possible to re-register a different template depending on context. (You can override the whole registration but this is not the main point of this package.)

With z3c.template the registration is split up between the view and the template and allows to differentiate the template based on the skin layer and the view.

In addition this package lays the foundation to differentiate between templates that provide specific presentation templates and generic layout templates.

CHANGES

5.1 (2026-11-05)

  • Move package metadata from setup.py to pyproject.toml.

  • Add support for Python 3.14, 3.15.

  • Drop support for Python 3.10, 3.9.

5.0 (2025-04-14)

  • Drop support for pkg_resources namespace and replace it with PEP 420 native namespace.

4.1 (2025-04-04)

  • Add support for Python 3.12, 3.13.

  • Drop support for Python 3.7, 3.8.

4.0 (2023-03-01)

  • Add support for Python 3.11.

  • Drop support for Python 2.7, 3.5, 3.6.

3.2 (2022-03-25)

  • Add support for Python 3.8, 3.9, and 3.10.

  • Drop support for Python 3.4.

3.1.0 (2019-02-05)

  • Adapt tests to zope.configuration >= 4.2.

  • Add support for Python 3.7.

3.0.0 (2017-10-18)

  • Add support for PyPy.

  • Add support for Python 3.4, 3.5 and 3.6.

  • Drop support for Python 2.6 and 3.3.

  • Make bound page templates have __self__ and __func__ attributes to be more like Python 3 bound methods. (im_func and im_self remain available.) See issue 3.

  • Depend on Chameleon >= 3.0, z3c.pt >= 2.1 and z3c.ptcompat >= 2.1.0 due to possible rendering issues. See PR 2.

2.0.0 (2015-11-09)

  • Standardize namespace __init__

2.0.0a2 (2013-02-25)

  • Make sure the of the templates content type is a native string instead forced bytes.

2.0.0a1 (2013-02-22)

  • Added support for Python 3.3.

  • Replaced deprecated zope.interface.implements usage with equivalent zope.interface.implementer decorator.

  • Dropped support for Python 2.4 and 2.5.

1.4.1 (2012-02-15)

  • Remove hooks to use ViewPageTemplateFile from z3c.pt because this breaks when z3c.pt is available, but z3c.ptcompat is not included. As recommended by notes below.

1.4.0 (2011-10-29)

  • Moved z3c.pt include to extras_require chameleon. This makes the package independent from chameleon and friends and allows to include this dependencies in your own project.

  • Upgrade to chameleon 2.0 template engine and use the newest z3c.pt and z3c.ptcompat packages adjusted to work with chameleon 2.0.

    See the notes from the z3c.ptcompat package:

    Update z3c.ptcompat implementation to use component-based template engine configuration, plugging directly into the Zope Toolkit framework.

    The z3c.ptcompat package no longer provides template classes, or ZCML directives; you should import directly from the ZTK codebase.

    Note that the PREFER_Z3C_PT environment option has been rendered obsolete; instead, this is now managed via component configuration.

    Also note that the chameleon CHAMELEON_CACHE environment value changed from True/False to a path. Skip this property if you don’t like to use a cache. None or False defined in buildout environment section doesn’t work. At least with chameleon <= 2.5.4

    Attention: You need to include the configure.zcml file from z3c.ptcompat for enable the z3c.pt template engine. The configure.zcml will plugin the template engine. Also remove any custom built hooks which will import z3c.ptcompat in your tests or other places.

1.3.0 (2011-10-28)

  • Update to z3c.ptcompat 1.0 (and as a result, to the z3c.pt 2.x series).

  • Using Python’s doctest module instead of depreacted zope.testing.doctest.

1.2.1 (2009-08-22)

  • Corrected description of ITemplateDirective.name.

  • Added zcml.txt to long_description to show up on pypi.

  • Removed zpkg helper files and zcml slugs.

1.2.0 (2009-02-26)

  • Add support for context-specific templates. Now, templates can be registered and looked up using (view, request, context) triple. To do that, pass the context argument to the ZCML directives. The getPageTemplate and friends will now try to lookup context specific template first and then fall back to (view, request) lookup.

  • Allow use of z3c.pt using z3c.ptcompat compatibility layer.

  • Forward the template kwargs to the options of the macro

  • Changed package’s mailing list address to zope-dev at zope.org instead of retired one.

1.1.0 (2007-10-08)

  • Added an IContentTemplate interface which is used for <z3c:template>.

1.0.0 (2007-??-??)

  • Initial release.

Metadata

Release files for z3c.template 5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for z3c.template 5.1
File Size Uploaded Provenance Actions
z3c_template-5.1.tar.gz 19.2 kB With provenance Details for z3c_template-5.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for z3c.template 5.1
File Interpreter ABI Platform Actions
z3c_template-5.1-py3-none-any.whl Python 3 none any Details for z3c_template-5.1-py3-none-any.whl

Total release size: 36.6 kB

Release files / z3c_template-5.1.tar.gz

Download URL z3c_template-5.1.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
244f3d9e7604c8d349a9a89401b1e2cdc34cc600b47f5947751d60f1649c59ea
BLAKE2b-256 checksum
How to use checksums
dd85243428995a06fddcadebaba0bad0b389b7019c3a61bb7116068bbe70ed56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Release files / z3c_template-5.1-py3-none-any.whl

Download URL z3c_template-5.1-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d406eb8419f87974d0e6e37cb8a5073d25ba7f84eb2b47a186692222cbaa1745
BLAKE2b-256 checksum
How to use checksums
a3c9542bd6eae8f94742db72cc56a131d7e46df5b9af2d4046141001f6536ec9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Security for z3c.template 5.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for z3c_template-5.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page