====================
Define (background-/banner-)images per page
# The Problem
At least our designer likes to create websites where pages can have individual backgrounds. Or individual banners. So for example the index-page has a generic background, while all pages under _Contact_ should have another background.
Mezzanine has this great feature that templates are searched by
`page-name.html`, `<content_type>.html` and then `page.html`. so one
would just create specific templates for the pages that get different
background. Its a nice solution that even works. But it has drawbacks:
- To change the background, the designer has to ask the programmer because it
can't be changed in the admin-backend.
- When you have multiple child-pages which should all get the background of
the parent-page, you end up with templates for each page.
- When the designer or writer adds another page, the programmer has to add
another template.
Mostly the problem is mixing content with design-code.
# The Solution
Here is how mezzanine-pageimages solves this:
- In the admin-backend we just add a way to define images for certain roles
and specific to certain pages. Plus a way to define default-images for the
roles.
- We define a template-tag `pageimage` that takes a role and the looks for
the fitting image for the current page.
- When there is no image for that role for the current page, it looks for an
image on the parent page. It goes upwards until there is no parent or an
image is found.
- When there is still no image found, the default image for that role is
returned, if there is one defined.
# Install
This package is on pypi.python.org. To simply install it just do `pip install mezzanine-pageimage`. Or define it as a requirement in your _requirements.txt_ or _setup.py_.
For hacking on mezzanine-pageimages do a git-checkout and install via `pip install -e`. Or install by `pip install -e git+https://github.com/bcs-de/mezzanine-pageimages.git#egg=mezzanine-pageimages`.
# Usage
Add the app to your `INSTALLED_APPS`. You can define your own image-roles in the `SETTINGS` in settings.py:
```python
PAGEIMAGE_TYPES = (
('BACKGROUND', 'Description text'),
)
```
Then use it in your templates:
```
{% load pageimage_tags %}
Lets get the url for the background image: {% pageimage 'BACKGROUND' %}
```
Metadata
Release files for mezzanine-pageimages 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mezzanine-pageimages-0.2.3.tar.gz | 9.3 kB | Without provenance | Details for mezzanine-pageimages-0.2.3.tar.gz |
Release files / mezzanine-pageimages-0.2.3.tar.gz
| Download URL | mezzanine-pageimages-0.2.3.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cce000c02a8eaede37150599b4320052850669ce3e98eac104d60851aaf2c400
|
|
BLAKE2b-256 checksum How to use checksums |
9be556a2c5a404a115a94aba7327db0d0deb3283a524811e0008801ebbc78d29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for mezzanine-pageimages 0.2.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.